使用子进程使用python脚本中的输入调用python脚本我有剧本a.py在执行时,它将向用户询问某些查询,并以json格式对输出进行帧化。使用python子进程,我可以从另一个名为b.py..除了无法在变量中获得输出之外,一切都按预期工作?我是在Python 3中这样做的。
2 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
subprocess
#!/usr/bin/env python3import osimport sysfrom subprocess import check_output script_path = os.path.join(get_script_dir(), 'a.py')output = check_output([sys.executable, script_path], input='\n'.join(['query 1', 'query 2']), universal_newlines=True)
a
a.py
if __name__=="__main__"
#!/usr/bin/env pythonimport a # the dir with a.py should be in sys.pathresult = [a.search(query) for query in ['query 1', 'query 2']]
mutliprocessing
#!/usr/bin/env pythonfrom multiprocessing import freeze_support, Poolimport aif __name__ == "__main__": freeze_support() pool = Pool() # use all available CPUs result = pool.map(a.search, ['query 1', 'query 2'])
添加回答
举报
0/150
提交
取消