Come posso ottenere il nome di uno script Python in esecuzione?Come ottenere il nome di uno script Python in esecuzione?
Ho provato os.__file__
ma che restituisce il nome del file in cui si trova os
.
Come posso ottenere il nome di uno script Python in esecuzione?Come ottenere il nome di uno script Python in esecuzione?
Ho provato os.__file__
ma che restituisce il nome del file in cui si trova os
.
sys.argv[0]
dovrebbe darvi il nome dello script.
>> import os
>> import sys
>> print sys.argv[0]
o se si desidera solo lo script e non il percorso completo
>>
>> print os.path.basename(sys.argv[0])
Sì, funziona (= 1). @tehryan per favore accetta questa come risposta, per aiutare gli altri che hanno la stessa domanda – Mawg
Usa
thisFile = __file__
è magia!
Ricevo '' 'NameError: name '__file__' non è definito'''. – bos
Quale implementazione Python stai usando? CPython o qualcos'altro? – Chazadanga
Python 2.7.3. Ho appena eseguito "python" quindi "print __file__'. – bos
sys.path[0]
restituisce il percorso dello script che ha lanciato l'interprete Python.
Se si legge direttamente questo script, verrà restituito il percorso dello script. Se lo script è stato importato da un altro script, restituirà il percorso di quello script.
Non ho fatto downvote, ma ho appena provato. Questo mi ha dato 'K:/code/allRequirementsTests' che è il percorso assoluto dello script, meno l'estensione – Mawg
Dipende da cosa intendi con "uno script Python in esecuzione".
__file__
ti darà il nome del file attualmente in esecuzione. Se questo è un modulo, otterrai la posizione in cui è stato importato, ad es. blahblah.pyc
sys.argv[0]
ti darà il nome dello script che viene eseguito, anche se chiamato da un modulo importato da tale script.
Si prega di cercare le risposte alla domanda precedente su questo argomento (vedere il commento di S.Lott sulla propria domanda).
import __main__
print __main__.__file__
Questo stamperà il nome del file corrente che è in esecuzione
Duplicate: http://stackoverflow.com/questions/50499/in-python-how-do-i-get-the-path-and -name-of-the-file-that-is-currently-executing –
http://stackoverflow.com/q/4152963/2336725 sembra essere un duplicato migliore. – Teepeemm