Forum >> Principianti >> problemi con la funzione open()

Pagina: 1

Ciao,

ho letto che la sintassi della funzione open() è la seguente:

open('nome del file', 'modalità', + altre cose che al momento credo non mi interessino)

ho letto anche che se il file non dovesse esistere questa funzione lo crea.

Quando provo ad usarla in IDLE mi dà il seguente errore:




Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
open('test.txt', 'r+')
TypeError: an integer is required (got type str)




perché?

comunque, nel caso questa funzione non crei i files, come faccio a crearne uno?
Ciao,
ho letto che la sintassi della funzione open() è la seguente:
open('nome del file', 'modalità', + altre cose che al momento credo non mi interessino)
Corretto.

ho letto anche che se il file non dovesse esistere questa funzione lo crea.

Corretto.

Quando provo ad usarla in IDLE mi dà il seguente errore:

Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
open('test.txt', 'r+')
TypeError: an integer is required (got type str)

perché?

Per caso hai usato "from os import *"?

Il modulo os contiene una funzione open() di basso livello <https://docs.python.org/2/library/functions.html#open>, con una firma diversa dalla open() built-in; se importata senza namespace va a sostituire la seconda:

>>> open('test.txt', 'r+')
<open file 'test.txt', mode 'r+' at 0x7fecc3dd3420>
>>> from os import *
>>> open('test.txt', 'r+')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: an integer is required
comunque, nel caso questa funzione non crei i files, come faccio a crearne uno?

Li crea.

Ciao,


--
|: **THE BEER-WARE LICENSE** (*Revision 42*):
| <carlo@python.it> wrote this post. As long as you retain
| this notice you can do whatever you want with this stuff.
| If we meet some day, and you think this stuff is worth it,
| you can buy me a beer in return.
| --Carlo Miron :

THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
Si avevo usato "from os import *", ma solo dopo aver visto che non funzionava lo stesso.

Senza "from os import *" mi da questo errore:




Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
x = open('test.txt', 'r+')
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'






Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
x = open('test.txt', 'r+')
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'

Perché la 'r' sta per reading, quindi cerchi di leggere il file, ma evidentemente questo non esiste.

Usa 'w' e/o 'a' per creare il file (il primo tronca il file se esiste), che rispettivamente stanno per writing ed appending, facile capire a che servono.

Cya
le ho provate tutte, comunque r+ dovrebbe essere la modalità sia writing che reading.




no aspe non avevo provato solo 'w', grazie mille.









--- Ultima modifica di tex_si in data 2015-10-12 20:27:04 ---

--- Ultima modifica di tex_si in data 2015-10-12 20:27:16 ---


Pagina: 1



Esegui il login per scrivere una risposta.