我正在尝试从我的python代码执行一个简单的sh文件。但是会引发语法错误。
这是我的video.sh代码
#!/bin/bash
google-chrome video.html
这是我的Python代码的一部分
import os
....
os.system(./video.sh)
....
终端抛出错误提示
File "app.py", line 14
os.system(./video.sh)
^
SyntaxError: invalid syntax
我也尝试过使用
执行它import subprocess
....
subprocess.call[(./video.sh)]
但我仍然遇到相同的错误。有什么可能的解决方案?
答案 0 :(得分:0)
正确的方法是使用subprocess
库。
import subprocess
subprocess.call("./video.sh")
但是,我建议在询问之前使用搜索工具。也许您可以自己找到solution。
答案 1 :(得分:0)
如果video.sh是可执行的
import subprocess
subprocess.call("./video.sh")
或
import subprocess
subprocess.call("./video.sh",shell=True)
但是使用shell = True可能会带来安全隐患
或者,如果video.sh无法执行
import os
os.system("sh video.sh")
或者您也可以遍历文件
from subprocess import call
with open('video.sh', 'rb') as file:
script = file.read()
rc = call(script, shell=True)
您可以使用os.chmod('video.sh', 0o755)