腳本可以說我有在homedir/codes/py/run.py
一個Python腳本我也有在homedir/codes/run.sh
這個bash腳本運行run.py
通過python py/run.py
bash腳本。的Python:如何找到路徑運行python腳本
事情是,我需要能夠找到在run.py
,調用腳本run.sh
的路徑。如果run.sh
從它自己的目錄運行,我可以使用os.getcwd()
。但run.sh
原則上可以從任何地方運行,然後os.getcwd()
將返回到run.sh
運行的路徑FROM,而不是run.sh
的實際位置。
例如:
- 在
homedir/codes
:./run.sh
- >os.getcwd()
回報homedir/codes
- 在
homedir
:./codes/run.sh
- >os.getcwd()
回報homedir
但我想homedir/codes
無論run.sh
是如何被調用。這可能嗎?
如果Python腳本從交互shell直接運行應該發生什麼,而不是從'運行.sh'? – 2010-07-07 07:59:03
如果bash腳本只包含「python py/run.py」,它必須從'homedir/codes'運行,否則將不會找到'py/run.py'。所以你的問題不完整。 – Philipp 2010-07-07 07:59:04
哦,對不起,我沒有想到這一點。我想我必須假設run.sh是從它自己的目錄運行的,否則run.py的相對路徑將不起作用(如你所說)。 – Eskil 2010-07-07 08:16:18