GNU/Linux >> Tutoriels Linux >  >> Linux

open() en Python ne crée pas de fichier s'il n'existe pas

Vous devez utiliser open avec le w+ mod :

file = open('myfile.dat', 'w+')

L'avantage de l'approche suivante est que le fichier est correctement fermé à la fin du bloc, même si une exception est levée en cours de route. C'est équivalent à try-finally , mais beaucoup plus court.

with open("file.dat","a+") as f:
    f.write(...)
    ...

a+ Ouvre un fichier pour l'ajout et la lecture. Le pointeur de fichier se trouve à la fin du fichier si le fichier existe. Le fichier s'ouvre en mode ajout. Si le fichier n'existe pas, il crée un nouveau fichier pour la lecture et l'écriture. -Modes de fichiers Python

La méthode seek() définit la position actuelle du fichier.

f.seek(pos [, (0|1|2)])
pos .. position of the r/w pointer
[] .. optionally
() .. one of ->
  0 .. absolute position
  1 .. relative position to current
  2 .. relative position from end

Seuls les caractères "rwab+" sont autorisés ; il doit y avoir exactement un "rwa" - voir la question Stack Overflow Détail des modes de fichier Python .


La bonne pratique consiste à utiliser les éléments suivants :

import os

writepath = 'some/path/to/file.txt'

mode = 'a' if os.path.exists(writepath) else 'w'
with open(writepath, mode) as f:
    f.write('Hello, world!\n')

Linux
  1. piwik :Impossible d'ouvrir le fichier d'entrée :./console

  2. Comment créer, extraire ou ouvrir un fichier RAR sous Linux ?

  3. Créer un fichier d'échange Linux

  4. fichier :commande introuvable

  5. Linux :copiez et créez le répertoire de destination s'il n'existe pas

Gestion des fichiers en Python :créer, ouvrir, ajouter, lire, écrire

Comment créer un fichier sous Linux

Comment créer un fichier Tar Gz

Comment décompresser (ouvrir) le fichier Gz

La commande Linux sed ne modifie pas le fichier cible

Pourquoi wget'ing une image me donne-t-il un fichier, pas une image ?