Python Language Modalità file


Esempio

Esistono diverse modalità con cui è possibile aprire un file, specificato dal parametro mode . Questi includono:

  • 'r' - modalità di lettura. Il predefinito. Ti permette solo di leggere il file, non di modificarlo. Quando si utilizza questa modalità, il file deve esistere.

  • 'w' - modalità di scrittura. Creerà un nuovo file se non esiste, altrimenti cancellerà il file e ti consentirà di scrivere su di esso.

  • 'a' - modalità append. Scriverà i dati alla fine del file. Non cancella il file e il file deve esistere per questa modalità.

  • 'rb' - modalità di lettura in binario. Questo è simile a r tranne che la lettura è forzata in modalità binaria. Anche questa è una scelta predefinita.

  • 'r+' - modalità di lettura più modalità di scrittura allo stesso tempo. Ciò consente di leggere e scrivere in file contemporaneamente senza dover utilizzare r e w .

  • 'rb+' - modalità di lettura e scrittura in binario. Lo stesso di r+ tranne che i dati sono in binario

  • 'wb' - modalità di scrittura in binario. Lo stesso di w eccetto che i dati sono in binario.

  • 'w+' - modalità di scrittura e lettura. Esattamente come r+ ma se il file non esiste, ne viene creato uno nuovo. Altrimenti, il file viene sovrascritto.

  • 'wb+' - modalità di scrittura e lettura in modalità binaria. Lo stesso di w+ ma i dati sono in binario.

  • 'ab' - l'aggiunta in modalità binaria. Simile ad a tranne che i dati sono in binario.

  • 'a+' - modalità di aggiunta e lettura. Simile a w+ in quanto creerà un nuovo file se il file non esiste. Altrimenti, il puntatore del file si trova alla fine del file, se esiste.

  • 'ab+' - modalità di aggiunta e lettura in binario. Uguale a+ tranne che i dati sono in binario.

     with open(filename, 'r') as f:
         f.read()
     with open(filename, 'w') as f:
         f.write(filedata)
     with open(filename, 'a') as f:
         f.write('\n' + newdata)
    
r r + w w + un un +
Leggere
Scrivi
Crea un file
Cancella il file
Posizione iniziale Inizio Inizio Inizio Inizio Fine Fine

Python 3 ha aggiunto una nuova modalità per la exclusive creation modo da non troncare o sovrascrivere accidentalmente e file esistenti.

  • 'x' : aperto per la creazione esclusiva, genererà FileExistsError se il file esiste già
  • 'xb' : aperto per la modalità di scrittura di creazione esclusiva in binario. Lo stesso di x eccetto che i dati sono in binario.
  • 'x+' - modalità di lettura e scrittura. Simile a w+ in quanto creerà un nuovo file se il file non esiste. Altrimenti, genererà FileExistsError .
  • 'xb+' - modalità di scrittura e lettura. Esattamente come x+ ma i dati sono binari
X x +
Leggere
Scrivi
Crea un file
Cancella il file
Posizione iniziale Inizio Inizio

Consentire a uno di scrivere il codice aperto del file in modo più pignolo:

Python 3.x 3.3
try:
    with open("fname", "r") as fout:
        # Work with your open file
except FileExistsError:
    # Your error handling goes here

In Python 2 avresti fatto qualcosa di simile

Python 2.x 2.0
import os.path
if os.path.isfile(fname):
    with open("fname", "w") as fout:
        # Work with your open file
else:
    # Your error handling goes here