Écrire le fichier dans un répertoire qui n'existe pas
Comment puis-je utiliser with open() as f: ...
pour écrire le fichier dans un répertoire qui n'existe pas.
Par exemple:
with open('/Users/bill/output/output-text.txt', 'w') as file_to_write:
file_to_write.write("{}\n".format(result))
Disons que le /Users/bill/output/
répertoire n'existe pas. Si le répertoire n'existe pas, il suffit de créer le répertoire et écrire le fichier.
- J'ai été en utilisant cet extrait pendant des années et des années.
Vous devez vous connecter pour publier un commentaire.
Vous devez d'abord créer le répertoire.
La
mkdir -p
mise en œuvre à partir de cette réponse permettra de faire exactement ce que vous voulez.mkdir -p
permettra de créer des répertoires parents comme nécessaire, et silencieusement de ne rien faire si elle existe déjà.Ici, j'ai mis en place un
safe_open_w()
méthode qui appellemkdir_p
sur le répertoire partie du chemin, avant d'ouvrir le fichier pour l'écriture:mkdir_p
fonction utilisée dans votre code doit être défini ainsi, en utilisant le lien fourni. Il ne vient pas avec Python.exc.errno == errno.EEXIST
j'ai obtenu l'erreur:NameError: global name 'errno' is not defined
. Changer l'exc.errno == 17
travaillé.import errno
.exists_ok=True
àos.makedirs
Faire un usage libéral de la
os
module:/Users/bill
existe bien.Vous pouvez simplement créer le chemin que vous voulez créer le fichier à l'aide de os.makedirs:
Source: cette DONC la solution
Pour Python 3 pouvez utiliser avec pathlib.Chemin: