我正在尝试从另一个python脚本first.py
中运行python脚本second.py
。
second.py
包含声明os.system("python first.py")
。
first.py
:默认打开App以前是记事本。但是,我将默认程序更改为python.exe
,现在没有任何反应。 first.py
甚至无法运行。
有人可以帮忙吗?
答案 0 :(得分:1)
而不是使用os.system()
,执行另一个脚本的一种简洁方法是将import
作为模块:
import second
将导致“second.py”被执行。
>>> with open('test.py', 'w') as f: f.write('print "hello world"')
...
>>> import test
hello world
答案 1 :(得分:1)
您可以使用subprocess.call模块运行另一个python程序。
import subprocess
subprocess.call("second.py", shell=True)
答案 2 :(得分:1)
如果所有脚本都来自"信任"来源,您可以安全地使用execfile()
。
with open('second.py', 'w') as f: f.write('print "hello world"')
try:
execfile('second.py') # -> hello world
except Exception as e:
# could also be "pass", "time.sleep()", etc
print 'exception {} occurred'.format(e)
print 'continuing on...'
这样做的一个优点是它独立于哪个默认程序与Python脚本相关联。此外,execfile()
的参数可以是另一个文件夹中脚本的完整路径,例如:
execfile('c:/path/to/different/directory/first.py')