运行包含来自另一个python脚本的空间的参数的python脚本

时间:2017-06-20 21:22:27

标签: python arguments

我正在尝试从另一个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")

但我的语法无效

1 个答案:

答案 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