GNU/Linux >> LINUX-Kenntnisse >  >> Linux

open() in Python erstellt keine Datei, wenn sie nicht existiert

Sie sollten open verwenden mit dem w+ Modus:

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

Der Vorteil des folgenden Ansatzes besteht darin, dass die Datei ordnungsgemäß geschlossen wird am Ende des Blocks, auch wenn unterwegs eine Ausnahme ausgelöst wird. Es entspricht try-finally , aber viel kürzer.

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

a+ Öffnet eine Datei zum Anhängen und Lesen. Der Dateizeiger befindet sich am Ende der Datei, wenn die Datei existiert. Die Datei wird im Anfügemodus geöffnet. Wenn die Datei nicht existiert, wird eine neue Datei zum Lesen und Schreiben erstellt. -Python-Dateimodi

seek() Methode setzt die aktuelle Position der Datei.

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

Nur "rwab+"-Zeichen sind erlaubt; es muss genau eines von "rwa" vorhanden sein - siehe Stack Overflow-Frage Details zu Python-Dateimodi .


Eine bewährte Vorgehensweise ist die Verwendung des Folgenden:

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:Eingabedatei konnte nicht geöffnet werden:./console

  2. Erstellen Sie eine Linux-Auslagerungsdatei

  3. Linux:Zielverzeichnis kopieren und erstellen, falls es nicht existiert

  4. C fopen gegen offen

  5. Wie gibt man einen Editor zum Öffnen der Crontab-Datei an? export EDITOR=vi funktioniert nicht

Dateihandhabung in Python:Erstellen, Öffnen, Anhängen, Lesen, Schreiben

So erstellen Sie eine Datei unter Linux

So erstellen Sie eine Tar-Gz-Datei

So entpacken (öffnen) Sie die Gz-Datei

atomare Erstellungsdatei, falls nicht aus dem Bash-Skript vorhanden

logrotate komprimiert nicht /var/log/messages