脚本可以说我有在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