[PYTHON] Télécharger un fichier sur Dropbox

Here is a sample code.

Please install Dropbox module from here. https://github.com/dropbox/dropbox-sdk-python

import sys
import os
import argparse

import dropbox
from dropbox.files import WriteMode
from dropbox.exceptions import ApiError

# Add OAuth2 access token here.
# You can generate one for yourself in the App Console.
# See <https://blogs.dropbox.com/developers/2014/05/generate-an-access-token-for-your-own-account/>
TOKEN = os.environ['DBTOKEN']


# Uploads contents of local_file to Dropbox
def backup(local_file, backup_path):
    with open(local_file, 'rb') as f:
        # We use WriteMode=overwrite to make sure that the settings in the file
        # are changed on upload
        try:
            dbx.files_upload(f, backup_path, mode=WriteMode('overwrite'))
        except ApiError as err:
            # This checks for the specific error where a user doesn't have
            # enough Dropbox space quota to upload this file
            if (err.error.is_path() and
                    err.error.get_path().error.is_insufficient_space()):
                sys.exit("Cannot back up; insufficient space.")
            elif err.user_message_text:
                print(err.user_message_text)
                sys.exit()
            else:
                print(err)
                sys.exit()

parser = argparse.ArgumentParser(description='Upload a file to Dropbox')
parser.add_argument('--file', '-f', help='file path')
parser.add_argument('--dbpath', '-d', help='dropbox path')

if __name__ == '__main__':
    # Create an instance of a Dropbox class, which can make requests to the API.
    dbx = dropbox.Dropbox(TOKEN)
    args = parser.parse_args()
    if not args.file:
        print("Please specify the file" +
                "Usage: uploadb.py -f file/path -d dropbox/path")
        exit(1)
    local_file = args.file
    if not args.dbpath:
        dbpath = '/' + local_file
    else:
        dbpath = args.dbpath

    # Create a backup of the current settings file
    backup(local_file, dbpath)

Motivation

Somehow scp and sftcp are sooo slow.(I am in country side of France now) But http access is fine, though it is not so fast. I guess there are some listriction for specific port. I want get a file from my server in Japan, which I can ssh to. I upload a file to dropbox and download it to my machine.

Recommended Posts

Télécharger un fichier sur Dropbox
Écrire la sortie standard dans un fichier
Comment créer un fichier de configuration
Téléchargement de fichiers vers Azure Storage (Python)
Script pour créer un fichier de dictionnaire Mac
Comment déguiser un fichier ZIP en fichier PNG
Télécharger le fichier texte sur le serveur de location avec ftp
Téléchargez un grand nombre d'images sur Wordpress
Comment créer un fichier JSON en Python
Enregistrer l'objet dans un fichier avec pickle
J'ai écrit un script pour télécharger un plug-in WordPress
Exporter la version Python3 OpenCV KeyPoint dans un fichier
Comment mettre en ligne sur un Drive partagé à l'aide de pydrive
Je veux écrire dans un fichier avec Python
Comment lire des fichiers dans différents répertoires
Je souhaite télécharger une application Django sur heroku
Téléchargement de fichiers avec django
Analyser une chaîne JSON écrite dans un fichier en Python
Création d'un module pour surveiller les mises à jour des fichiers et des URL
Convertir un fichier texte avec des valeurs hexadécimales en fichier binaire
Que faire lorsque gdal_merge génère un fichier énorme
Un mémorandum pour exécuter un script python dans un fichier bat
Je veux échantillonner au hasard un fichier avec Python
Comment transformer un fichier .py en fichier .exe
Comment convertir un spectrogramme Mel en un fichier wav
Script Python qui crée un fichier JSON à partir d'un fichier CSV
Transférer vers un Drive partagé avec l'API Google Drive V3
Sortie d'un vidage binaire en binaire et retour dans un fichier binaire
Publier / télécharger une bibliothèque créée en Python vers PyPI
Comment mettre un lien hypertexte vers "file: // hogehoge" avec sphinx-> pdf
[python] Remplacez le nom du fichier image par un numéro de série
Une route vers Python intermédiaire
Une super introduction à Linux
Comment exécuter un fichier Python à une invite de commande Windows 10
Un script Python qui enregistre une image de presse-papiers (GTK) dans un fichier.
Convertir le HTML en fichier texte
Ajouter un dictionnaire à MeCab
Changer la destination de sortie standard en un fichier en Python
Comment appeler une fonction
Comment importer des fichiers où vous le souhaitez en Python
Envoyer un signal au sous-processus
Analyser le fichier JSON en objet
Lire et écrire des fichiers
Comment pirater un terminal
Créer un fichier de données factice
Écrire et lire des fichiers
Exporter un fichier texte compressé gzip
Comment utiliser un fichier autre que .fabricrc comme fichier de configuration
[Python] Comment générer une table pandas dans un fichier Excel
Téléchargement de fichiers avec Flask + jQuery
Essayez de sélectionner une langue
Convertir le fichier genbank en fichier gff
Comment télécharger des fichiers sur Cloud Storage à l'aide de Python [Créer une caméra à point fixe avec Raspberry PI # 1]
Exporter la liste de clés incluse dans S3 Bucket dans un fichier
Comment coller un fichier CSV dans un fichier Excel à l'aide de Pandas
J'ai essayé de transformer un fichier Python en un EXE (erreur de récursivité prise en charge)
Traitez le résultat de l'exécution de Splunk en utilisant Python et enregistrez-le dans un fichier
Branche conditionnelle en raison de l'existence d'un fichier de script shell