Bonjour à tous,

Me revoila pour bénéficier de vos expériences.
Toujours dans mes petits exercices pour apprendre et me développer en programmation Python, je souhaiterais en savoir davantage sur les créations de fichiers texte (txt ou éventuellement docx).
Je ne sais pas si je peux prétendre déjà à apprendre ceci mais bon je tente et je verrai ou je coince ^^.

Voici mon code (en travail et ne fonctionnant pas totalement à cause de la dernière ligne). Mon but initial était de créer un fichier .txt et d'y annoter un blabla.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import os
 
liste =[]
entree = input("entrez votre texte: ")
while entree != "":
    liste.append(entree)
    entree = input("entrez votre texte: ")
 
print(liste)
 
fichier = open("1er test fichier.txt", "x")
for i in liste:
    fichier.write(i + "\n")
 
fichier.close()
f = open("1er test fichier.txt", "a")
f.write("\n" + "complement")
f.close()
os.startfile("1er test fichier.txt")
os.close(f)
Par la suite, tant qu'à créer un fichier, j'ai voulu aborder les différents maniements possibles de celui-ci. Par exemple l'ouvrir physiquement à l'aide de [c] os.startfile()[c]. le problème, c'est que je n'ai toujours pas compris comment le fermer : os.close() prend comme paramètre "fd" et je ne comprends pas à quoi cela correspond.

Ensuite j'aurais voulu essayer de sauvegarder le fichier à un autre emplacement que le folder de mon projet. Mais je ne sais même pas par où commencer et surtout je ne sais pas ce que cela va engendrer comme complication si je voulais y accéder plus tard.

Puis en admettant que j'enlève le os.close(f) du code, le programme fonctionne (hourrah!). Cependant impossible de le faire tourner une deuxième fois d'affilée, car le fichier est déjà créé. D'après ce que j'ai lu, je pourrais remplacer le "x" de fichier = open("1er test fichier.txt", "x"), par "w" ou "a" et cela devrait solutionner le problème. Mais admettons que je veuille vérifier par "moi-même" (enfin via le code quoi) la présence ou non d'un fichier dans le folder. Comment dois-je faire cela?

Pour finir (et puis on verra pour les prochaines questions), j'ai essayé le même code avec le suffixe ".docx" plutot que ".txt". En revanche, je n'ai pas pu lire le fichier car il serait soit-disant corrompu. Pourquoi ai-je ce genre d'erreur? y'a-t-il des particularités avec la suite office?

Désolé, ca fait beaucoup de questions. J'espère que vous aurez la patience d'aider un noob ^^.

Merci d'avance pour vos commentaires.
Ben