我正在尝试从另一个python脚本运行python脚本但是我被阻止了,因为传递的参数中有一个空格。我试图运行的脚本是从命令终端运行的,其名称和参数是这样的
>>>Duplicate_Checki.py "Google Control Center" "7.5 Hardening"
在我尝试调用第一个脚本的脚本中,代码如下所示:
def run_duplicate_check(self):
os.system("python Duplicate_Checki.py Google Control Center 7.5 Hardening")
我收到以下错误
Duplicate_Checki.py: error: unrecognized arguments: Center 7.5 Hardening
也试过了
os.system("python Duplicate_Checki.py {} {}".format("Google Control Center" ,"7.5 Hardening"))
具有相同的错误
我也试过
os.system(python Duplicate_Checki.py "Google Control Center" "7.5 Hardening")
但我的语法无效
答案 0 :(得分:2)
<强> script.py 强>:
import sys
if __name__ == '__main__':
args = sys.argv[1:]
print(args[0])
print(args[1])
<强> runner.py 强>:
from subprocess import call
call(["python3", "script.py", "Google Control Center", "7.5 Hardening"])
执行python3 runner.py
,输出:
Google Control Center
7.5 Hardening
请参阅https://docs.python.org/3/library/subprocess.html
#subprocess.run,#subprocess.check_output,#subprocess.call