我希望从这个脚本运行另一个python脚本(scriptA.py)
我试过了
process = subprocess.popen(cmd, stdout=subprocess.PIPE)
然后在输出行上显示..
并尝试了这个解决方案 https://gist.github.com/kirpit/1306188
但不确定如何实现它..
我想使用主文件中的代码打开scriptA.py(subprocess.popen等) 但要在主文件的另一个线程上打开它..因为它们都需要并行执行..
scriptA.py将从Android设备中提取信息.. SM将根据scriptA.py ..
的输出向同一设备发出命令有什么想法吗?
由于
答案 0 :(得分:1)
默认情况下,subprocess.Popen
在新进程中运行子程序。所以这根本不会阻止你的主要过程。
childProc = subprocess.Popen(cmd ..)
while True:
childProc.poll() # to see if it has finished
if childProc.returncode:
break # Finished
# communicate somedata and read stdout and stderrs
outs, errs = childProc.communicate(input="somedata")
PS:无限循环仅用于呈现概念
答案 1 :(得分:1)
首先我读到了: What is the difference between a process and a thread?
您需要确定它是您需要的线程还是进程。 如果你真的想要一个进程,你需要生成一个子进程,然后等待它结束并读取输出。 这可能有所帮助: wait process until all subprocess finish?