Zoberme si nasledujúci kód jazyka Python:
import os
print os.getcwd()
Používam os.getcwd()
na získanie umiestnenia adresára súboru skriptu. Keď spustím skript z príkazového riadku, poskytne mi správnu cestu, zatiaľ čo keď ho spustím zo skriptu spusteného kódom v zobrazení Django, vypíše /
.
Ako môžem získať cestu k skriptu zo skriptu spusteného kódom v zobrazení Django?
UPDATE:
Ak zhrnieme doterajšie odpovede - os.getcwd()
a os.path.abspath()
poskytujú aktuálny pracovný adresár, ktorý môže, ale nemusí byť adresárom, v ktorom sa nachádza skript. V mojom nastavení webhostingu
dáva len názov súboru bez cesty.__file__
Neexistuje v Pythone nejaký spôsob, ako (vždy) získať cestu, v ktorej sa skript nachádza?
Používam:
import os
import sys
def get_script_path():
return os.path.dirname(os.path.realpath(sys.argv[0]))
Ako upozorňuje aiham v komentári, túto funkciu môžete definovať v module a používať ju v rôznych skriptov.