我处理Stream中使用的一些脚本。我做了一些,现在我尝试做一个启动器,以集中所有脚本。
我认为子流程进展顺利,但是atm遇到了一些困难。
我尝试使用此行启动脚本:
subprocess.Popen(['python', "E:/path/rocksmith/rocksmith.pyw"], shell=True)
但是python给我没有这样的文件或目录错误。 在我要启动的脚本中(rocksmith.pyw),我使用open()打开了一些文本文件,我猜python无法找到.txt文件,因为.txt不在启动器目录中了吗?
我的目录是这样的:
Launcher folder
- launcher.py
* Script 1 folder
- Script1.py
- text.txt
* Script 2 folder
- Script2.py
- text.txt
* Script 3 folder
- Script3.py
- image.gif
我不知道我的解释是否正确。 我只是想在“超级脚本”中启动一些脚本。
谢谢。
答案 0 :(得分:0)
如果rocksmith.pyw
尝试打开文件时发生错误,则可能要对cwd
使用Popen
kwarg。这将从运行脚本的位置更改工作目录,以便rocksmith.pyw
中的相对路径将按您期望的方式解析。
subprocess.Popen(['python', "E:/path/rocksmith/rocksmith.pyw"], cwd='/path/to/rocksmith/stuff')