GNU/Linux >> Linux Esercitazione >  >> Linux

open() in Python non crea un file se non esiste

Dovresti usare open con il w+ modalità:

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

Il vantaggio del seguente approccio è che il file è correttamente chiuso alla fine del blocco, anche se durante il percorso viene sollevata un'eccezione. È equivalente a try-finally , ma molto più breve.

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

a+ Apre un file sia per l'aggiunta che per la lettura. Il puntatore del file si trova alla fine del file se il file esiste. Il file si apre in modalità append. Se il file non esiste, crea un nuovo file per la lettura e la scrittura. -Modalità file Python

Il metodo seek() imposta la posizione corrente del file.

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

Sono consentiti solo i caratteri "rwab+"; ci deve essere esattamente uno di "rwa" - vedi la domanda Stack Overflow Dettagli modalità file Python .


È buona norma utilizzare quanto segue:

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:Impossibile aprire il file di input:./console

  2. Il file di metadati non corrisponde al checksum – Errore YUM!

  3. Cosa fa Exec 3?

  4. Crea un file di scambio Linux

  5. file:comando non trovato

Gestione dei file in Python:crea, apri, aggiungi, leggi, scrivi

Come creare un file in Linux

Come creare file Tar Gz

Come decomprimere (aprire) il file Gz

file di creazione atomico se non esiste dallo script bash

Perché wget'ing un'immagine mi dà un file, non un'immagine?