Come posso creare un file in python su una directory, senza utilizzare il percorso completo?Come creare un file su una directory?
Mi piacerebbe un modo che funzionasse sia per Windows che per Linux.
Grazie.
Come posso creare un file in python su una directory, senza utilizzare il percorso completo?Come creare un file su una directory?
Mi piacerebbe un modo che funzionasse sia per Windows che per Linux.
Grazie.
Usa os.pardir
(che probabilmente è sempre ".."
)
import os
fobj = open(os.path.join(os.pardir, "filename"), "w")
Dipende se si lavora in un ambiente Unix o Windows.
su Windows:
..\foo.txt
Su Unix come sistema operativo:
../foo.txt
è necessario assicurarsi che il sistema operativo imposta il percorso di corrente in modo corretto quando i lanci di applicazione. Prendi il percorso appropriato e crea semplicemente un file lì.
usa os.path.join o os.sep –
Python capirà anche la barra diretta su Windows. – mob
Non sono un ragazzo pitone :-) –
Le persone non sembrano rendersene conto, ma Python è felice di accettare la barra diretta anche su Windows. Funziona bene su tutte le piattaforme:
fobj = open("../filename", "w")
È una funzione ufficiale? Non ricordo di averlo visto nella documentazione, e os.path.join mi ha sempre fatto pensare che i programmatori non dovrebbero fare affidamento sul fatto che '/' è il separatore del percorso ... – EOL
funzionerà sia per Windows che per Linux? – nunos
utilizzando os.pardir verrà utilizzata la sintassi della directory principale pertinente per il sistema operativo su cui è in esecuzione la tua applicazione. Quindi sì, funzionerà sia su Windows che su Linux. –
Grazie. È stato veloce! – nunos