Forum >> Programmazione Python >> Files e Directory >> Aprire un file nella stessa cartella, perchè non riesco?

Pagina: 1

Buonasera, ho un piccolo e strano problema.

Premetto che il mio sistema operativo è Linux Ubuntu.


Voglio creare un file con una riga di testo usando il codice:


f = open("file.txt","w")
f.write("ciao")
f.close()

f = open("file.txt","r")
print(f.read())
f.close()
Ho già lavorato con i file, ma il problema è che ora questo file.txt non me lo trovo nella directory assieme al programma, ma me lo trovo nella Home.




Per farvi capire meglio vi posto l'output del terminale con i vari comandi che mostrano la presenza del file.txt in Home e l'assenza del file nella cartella dove sta il sorgente in python




lore@lore:~$ python3.7 Scrivania/py/prova.py
ciao
lore@lore:~$ ls
Arduino		       examples.desktop  Immagini  Pubblici   sketchbook
arduino-1.8.8-linux32  file.txt		 Modelli   Scaricati  snap
Documenti	       fonts		 Musica    Scrivania  Video
lore@lore:~$ ls Scrivania/py
prova.py
lore@lore:~$ 
:question: :question:





Com'è possibile? cosa sbaglio? avevo un altro abbozzo di programma nel quale potevo aprire e salvare un file, ho provato pure quello ma me lo salva ugualmente nella Home anzichè nella stessa directory del programma.... (tra l'altro nella cartella di quel programma esiste il file che feci qualche tempo fa quando ci lavoravo su).




Grazie per l'attenzione ;)





In realtà il file viene salvato nella directory corrente (cwd) del processo; dato che tu lo esegui dalla tua home, è li che viene salvato. Puoi verificarlo facilmente facendo `cd` in una directory diversa. Ovviamente puoi sempre specificare un percorso diverso da quello di default; per esempio, se ti interessa scrivere nella stessa directory dove è presente il tuo script, puoi usare:

os.path.dirname(os.path.realpath(__file__))

HTH,


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. -- ㎝
Se metti il percorso intero sei sicuro che lo apre in quella posizione

f = open('/tmp/miofile.txt', 'w')
Stai sicuro che lo troverai in /tmp ;)



Pagina: 1



Esegui il login per scrivere una risposta.