Mi chiedo cosa sta succedendo con il file open()
modalità di validazione (Python2.7):Aprire i file in modalità "rock & roll"
>>> with open('input.txt', 'illegal') as f:
... for line in f:
... print line
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: mode string must begin with one of 'r', 'w', 'a' or 'U', not 'illegal'
>>> with open('input.txt', 'rock&roll') as f:
... for line in f:
... print line
...
1
2
3
Quindi, non posso aprire il file in modalità illegal
, ma io può aprirlo nella modalità rock&roll
. In quale caso viene effettivamente utilizzata la modalità per l'apertura del file?
Si noti che il python3 non posso usare sia illegal
e rock&roll
:
>>> with open('input.txt', 'rock&roll') as f:
... for line in f:
... print(line)
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid mode: 'rock&roll'
>>> with open('input.txt', 'illegal') as f:
... for line in f:
... print(line)
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid mode: 'illegal'
E, questo è fonte di confusione, perché il comportamento è diverso per python3.x?
Mi ha dato una bella risata dopo aver letto la risposta di mgilson – smac89