Ecrire dans un nouveau répertoire en Python sans changer de répertoire
Actuellement, j'ai le code suivant...
file_name = content.split('=')[1].replace('"', '') #file, gotten previously
fileName = "/" + self.feed + "/" + self.address + "/" + file_name #add folders
output = open(file_name, 'wb')
output.write(url.read())
output.close()
Mon but est d'avoir python écrire le fichier (sous file_name) vers un fichier dans la partie "adresse" dans le dossier "nourrir" dossier dans le répertoire courant (c'est à dire, où le script python est enregistré)
J'ai regardé dans le module os, mais je ne veux pas changer mon répertoire courant et ces répertoires n'existent pas déjà.
source d'informationauteur Philip Massey
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, je ne suis pas 100% sûr que je comprends la question, permettez-moi de dire mon hypothèse:
1) Vous voulez écrire sur un fichier dans un répertoire qui n'existe pas encore.
2) Le chemin est relative (par rapport au répertoire courant).
3) Vous ne voulez pas changer le répertoire courant.
Donc, étant donné que:
Découvrez ces deux fonctions: os.makedirs et les os.chemin d'accès.rejoignez. Puisque vous voulez spécifier un chemin relatif (par rapport au répertoire courant) vous ne voulez pas ajouter de l'initiale "/".
Cela va créer le fichier
feed/address/file.txt
dans le même répertoire que le script actuel:Des commandes comme
os.mkdir
ne nécessite pas réellement de vous rendre le dossier dans votre répertoire courant; vous pouvez mettre un chemin relatif ou absolu.Je ne sais pas d'un moyen à la fois de manière récursive créer les dossiers et ouvrir le fichier outre l'écriture de cette fonction, vous-même - voici environ le code en ligne.
os.makedirs
, vous obtiendrez la plupart du chemin; à l'aide de la même mystérieuse auto objet que vous n'avez pas montré: