75 votes

Dire à Python d'enregistrer un fichier .txt dans un certain répertoire sous Windows et Mac

Comment indiquer à Python où enregistrer un fichier texte ?

Par exemple, mon ordinateur exécute le fichier Python sur mon bureau. Je veux qu'il enregistre tout le fichier texte dans mon dossier de documents, pas sur mon bureau. Comment faire cela dans un script comme celui-ci ?

 name_of_file = raw_input("What is the name of the file: ")
completeName = name_of_file + ".txt"
#Alter this line in any shape or form it is up to you.
file1 = open(completeName , "w")

toFile = raw_input("Write what you want into the field")

file1.write(toFile)

file1.close()

84voto

Acorn Points 16562

Utilisez simplement un chemin absolu lors de l'ouverture du descripteur de fichier pour l'écriture.

 import os.path

save_path = 'C:/example/'

name_of_file = raw_input("What is the name of the file: ")

completeName = os.path.join(save_path, name_of_file+".txt")         

file1 = open(completeName, "w")

toFile = raw_input("Write what you want into the field")

file1.write(toFile)

file1.close()

Vous pouvez éventuellement combiner cela avec os.path.abspath() comme décrit dans la réponse de Bryan pour obtenir automatiquement le chemin du dossier Documents d'un utilisateur. À votre santé!

15voto

der_radler Points 299

Une petite mise à jour à ce sujet. raw_input() est renommé en input() dans Python 3.

Note de version Python 3

10voto

Paul Thomas Points 134

Un autre moyen simple sans utiliser l'OS d'importation est,

 outFileName="F:\\folder\\folder\\filename.txt"
outFile=open(outFileName, "w")
outFile.write("""Hello my name is ABCD""")
outFile.close()

8voto

Asher Points 392

Si vous souhaitez enregistrer un fichier dans un RÉPERTOIRE et un NOM DE FICHIER particuliers, voici un exemple simple. Il vérifie également si le répertoire a ou n'a pas été créé.

 import os.path
directory = './html/'
filename = "file.html"
file_path = os.path.join(directory, filename)
if not os.path.isdir(directory):
    os.mkdir(directory)
file = open(file_path, "w")
file.write(html)
file.close()

J'espère que cela vous aide!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X