2010-07-19 14 views
22

se ho un file test.py che risiede in qualche directory, come posso scoprire da test.py in quale directory si trova? os.path.curdir fornirà la directory corrente ma non la directory in cui risiede il file. Se invoco test.py da qualche directory "foo", os.curdir restituirà foo ma non il percorso di test.py.trovare il percorso assoluto di un file da python

grazie.

risposta

17

la risposta è quella di utilizzare:

__file__ 

che restituisce un percorso relativo.

os.path.abspath(__file__) 

può essere utilizzato per ottenere il percorso completo.

0

os.path ha molti strumenti per gestire i percorsi e ottenere informazioni sui percorsi.

In particolare, si vuole:

os.path.abspath 
28

Ecco come ottenere la directory del file corrente:

import os 
os.path.abspath(os.path.dirname(__file__)) 
+0

Questa è la risposta corretta e deve essere contrassegnata come tale. – catalyst294

1
import os 
dirname, filename = os.path.split(os.path.abspath(__file__)) 
5

Le risposte finora hanno correttamente è indicato os.path.abspath, che fa esattamente il lavoro che hai richiesto Tuttavia, non dimenticare che os.path.normpath e os.path.realpath possono essere molto utili in questo tipo di attività (per normalizzare la rappresentazione e rimuovere i collegamenti simbolici, rispettivamente) in molti casi (se il tuo caso d'uso specifico rientra tra questi "molti" è impossibile dire dalle scarse informazioni che abbiamo, ovviamente ;-).

Problemi correlati