gpt4 book ai didi

python - subprocess.Popen 与 os.system 中的错误

转载 作者:行者123 更新时间:2023-12-01 05:28:14 26 4
gpt4 key购买 nike

我正在尝试使用 subprocess.Popen 而不是 os.system,但遇到了问题。这看起来很简单,我可能错过了一些明显的东西。我正在尝试调用并运行我之前在 Octave 中编写的脚本(Octave 代码工作正常,我不想花时间在 NumPy 等中重新编写它)。我也不想将 Octave 永久安装在这台特定的计算机上。

此代码完美运行:

os.system('sudo apt-get install octave')
os.system('octave Documents/small_eig.m')
os.system('sudo apt-get remove octave')

但是这段代码:

subprocess.Popen('sudo apt-get install octave')
subprocess.Popen('octave Documents/small_eig.m')
subprocess.Popen('sudo apt-get remove octave')

生成以下消息:

Traceback (most recent call last):
File "Documents/ben.py", line 11, in <module>
subprocess.Popen('sudo apt-get install octave')
File "/usr/lib/python2.7/subprocess.py", line 709, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1326, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

有什么想法吗?

谢谢

最佳答案

您需要在“shell 模式”下运行该命令。为此,请在调用 Popen 时传递 shell=True。尝试:

subprocess.Popen('sudo apt-get install octave', shell=True)

关于python - subprocess.Popen 与 os.system 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20908941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com