Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';是否运行带有python子进程的linux.sh脚本?_Python_Linux_Bash - Fatal编程技术网

Can';是否运行带有python子进程的linux.sh脚本?

Can';是否运行带有python子进程的linux.sh脚本?,python,linux,bash,Python,Linux,Bash,我正在努力: import subprocess subprocess.call(["file.sh"]) 但我一直得到: Traceback (most recent call last): File "project.py", line 85, in <module> subprocess.call(["file.sh"]) File "/usr/local/lib/python2.7/subprocess.py", line 522, in call

我正在努力:

import subprocess
subprocess.call(["file.sh"])
但我一直得到:

Traceback (most recent call last):
  File "project.py", line 85, in <module>
    subprocess.call(["file.sh"])
  File "/usr/local/lib/python2.7/subprocess.py", line 522, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/local/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/local/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
回溯(最近一次呼叫最后一次):
文件“project.py”,第85行,在
subprocess.call([“file.sh”])
文件“/usr/local/lib/python2.7/subprocess.py”,第522行,在调用中
返回Popen(*popenargs,**kwargs)。等待()
文件“/usr/local/lib/python2.7/subprocess.py”,第710行,在__
错误读取,错误写入)
文件“/usr/local/lib/python2.7/subprocess.py”,第1335行,在执行子进程中
引发子对象异常
OSError:[Errno 2]没有这样的文件或目录
但是,当我尝试从shell
bash file.sh运行脚本时,它可以工作。所以我不明白为什么它不起作用


我不承诺使用子流程,因此如果有其他选项,请告诉我。

子流程
包的
调用
函数运行arg中指定的命令作为字符串列表(以简化)

要调用已放入脚本中的文件,请执行以下操作:

import subprocess
subprocess.call(["sh", "file.sh"])

file.sh
(相对于
bash file.sh
)是否可以从命令行工作?不为什么您希望
子流程.call([“file.sh”])
能够工作呢?我刚刚尝试添加了
([“bash file.sh”])
,结果完全相同。脚本file.sh是否与python脚本位于同一目录中?否则,必须将“file.sh”替换为该文件的路径。没问题。