Erreur avec p.touch()
Bonjour Thibault,
Je n'arrive pas à lire ou écrire sur un fichier.
J'ai exécuté parfaitement le programme du cours à la lettre, et je suis toujours en erreur pourquoi? (je suis sur windows) depuis 5 jours je ne lache pas l'affaire je suis sur 3 bouquins !!
Aurais-tu la gentillesse de m'aider? dès que j'édite p.touch() sur IDLE je suis en erreur.
Merci pour ton aide.
Python 3.11.4 (tags/v3.11.4:d2340ef, Jun 7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
from pathlib import Path
p = Path.home() / "Pathlib" / "fichier.txt"
p
WindowsPath('C:/Users/jeand/Pathlib/fichier.txt')
p.touch()
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
p.touch()
File "C:\Program Files\Python311\Lib\pathlib.py", line 1108, in touch
fd = os.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\jeand\Pathlib\fichier.txt'</module></pyshell#3>
Salut Jean-Michel !
Je pense voir le problème. J'imagine que le répertoire Pathlib n'existe probablement pas encore. Avant de créer le fichier (avec touch), tu dois t'assurer que le répertoire dans lequel il doit être créé existe.
Pour résoudre ton problème, voici ce que tu peux faire : crée le répertoire d'abord si celui-ci n'existe pas. Voici un exemple de comment tu peux le faire :
from pathlib import Path
p = Path.home() / "Pathlib"
p.mkdir(parents=True, exist_ok=True) # Créer le répertoire si non existant
f = p / "fichier.txt"
f.touch() # Maintenant tu peux créer le fichier
Ici, mkdir(parents=True, exist_ok=True) va créer le répertoire Pathlib. L'option parents=True signifie "créer les répertoires parents si nécessaire" et exist_ok=True signifie "si le répertoire existe déjà, ne lance pas d'exception et continue".
Tiens-nous au courant :)
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte