简单的script1.py接受参数并通过将它们传递给os.system()来调用script2.py:
#! /usr/bin/env python
import os
import sys
os.system("script2.py sys.argv[1] sys.argv[2]")
运行此:
./script1.py "arg1" "arg2"
获得此单一错误:
sh: 1: script2.py: not found
两个脚本都存在于同一目录中。 在script1.py和script2.py上应用chmod 777并且是可执行的。 两个脚本都调用安装在/ usr / bin / env python上的相同解释器。
当我尝试这些时:
os.system("./script2.py sys.argv[1] sys.argv[2]")
os.system("python script2.py sys.argv[1] sys.argv[2]")
sys.argv [1]和sys.argv [2]被视为字符串而不是动态变量
答案 0 :(得分:0)
您是否尝试过:
./script2.py "arg1" "arg2"
在os.system
内?
更新2
尝试:
import urllib
call_with_args = "./script2.py '%s' '%s'" % (str(arg1), str(arg2))
os.system(call_with_args)