我想一次运行多个脚本(大约15个),我假设我可以使用子进程库来执行此操作,但我对此没有任何经验。
我正在玩这个剧本:
import os
from subprocess import *
#run child script 1
p = Popen([r'D:\python\loanrates\test\test.py', "test"], shell=True, stdin=PIPE, stdout=PIPE)
output = p.communicate()
print output
#run child script 2
p = Popen([r'D:\python\loanrates\test\test2.py', "test2"], shell=True, stdin=PIPE, stdout=PIPE)
output = p.communicate()
print output
它试图运行的每个python脚本都很简单(出于测试目的)
import time
for i in range(50):
print i
time.timer(1)
这是对的吗?这是运行每个脚本?它运行时没有错误
('', None)
('', None)
[Finished in 0.3s]
如果是这样,我需要在子脚本中更改哪些内容以便父输出?或者类似地,我需要在父级中进行chnage,以便在子级中打印打印功能?
编辑:我正在运行的脚本位于不同的文件夹中s a pastebin for the actual scripts ,每个文件夹的URL调用后缀都不同。没有函数,没有任何东西返回代码将在while True
循环
答案 0 :(得分:1)
如果您知道其他脚本的路径,可以将它们作为模块导入并运行其方法
test.py
def main():
print "Hello, World!"
main.py
import test
test.main()
如果你想同时执行它们,请使用线程。
test1.py
def main(name):
print "Goodbye, %s!"%name
main.py
import test,test1
from threading import Thread
Thread(target=test.main).start()
Thread(target=test1.main,args='user').start()