2016-11-29 2 views
0

J'essaie de tester un moyen simple d'écrire un message à partir d'un script python exécuté localement dans un fichier (qui n'existe peut-être pas au moment du script run) qui peut être hébergé dans un répertoire partagé (ie un lien dropbox) et dont le chemin est spécifié par une URL.Python 2.7: écrire une sortie dans un fichier situé dans un répertoire partagé en utilisant l'URL

1) Dropbox est juste choisi comme exemple car il est bien connu et facile. J'ai été capable de récupérer le contenu d'un fichier qui existe déjà dans un répertoire partagé via un lien dropbox si je change le dernier dl = 0 à dl = 1.

Exemple: (n'utilisant pas de lien réel): j'ai un testfile.txt avec un simple message écrit: « Ceci est mon fichier test »

import urllib2  

#this link would point directly to the shared file location 
the_link = 'https://www.dropbox.com/.....blahblah....?dl=1' 
response = urllib2.urlopen(the_link) 
print response.read() 

#print's the message written in the text file 
>>: 'this is my test file' 

2) ce que je voudrais faire est d'aller l'autre sens - à savoir exécuter mon script qui affiche un message, et enregistre ceci à un répertoire partagé d'url (dropbox?), créant le dossier si nécessaire. Je voudrais éviter d'utiliser l'API dropbox (puisque je ne finirai peut-être pas du tout par utiliser dropbox dans une solution finale) et je pourrais finir par utiliser un répertoire servi ou une autre ressource basée sur l'URL. L'objectif est d'avoir le fichier en lecture/écriture et hébergé à une URL accessible depuis n'importe où.

Là où je suis coincé/choses que j'ai considéré:

1) en utilisant os? os.chdir() et obtenir des informations de répertoire en utilisant l'URL. Puis écrire dans un fichier en utilisant open (filename, w), etc?

2) utiliser urllib2 pour créer un fichier? Et puis écris-y?

Tout conseil est grandement apprécié. Merci d'avance.

Répondre

0

Votre meilleure solution est d'utiliser l'API distribuée par Dropbox elle-même. Jetez un oeil here.

En outre, here explique comment utiliser l'API Dropbox pour enregistrer un fichier dans votre boîte de dépôt personnelle.

Si vous travaillez avec un autre répertoire partagé basé sur l'URL , recherchez les API existantes. Sinon, vous devrez le programmer vous-même.

+0

J'ai regardé l'API et cela me semble être la meilleure solution si je devais rester avec la dropbox comme ressource. Je pense que je devrais essayer de programmer une API indépendante qui peut gérer un autre répertoire basé sur l'URL, à savoir OneDrive ou même un répertoire partagé servi à distance –