1
Trim21 2019-02-27 11:04:49 +08:00 via Android 1
为什么不包成一个函数多次调用呢…
|
2
clino 2019-02-27 11:08:45 +08:00 1
此时应该用 subprocess.Popen() ,如果要等就主动调 process object 的 wait() 方法
我想 subprocess.call() 里面应该调用了 wait() |
3
CallMeReznov 2019-02-27 11:12:29 +08:00 1
批处理命令 start 了解一下?
|
4
SeaRecluse 2019-02-27 11:12:36 +08:00 1
没看懂,重新组织下语言。你为什么需要开新的 cmd 窗口?
a.py ```python import subprocess from subprocess import Popen, PIPE, STDOUT if __name__ == '__main__': for i in range(1,4): cmd = "python b.py " + str(i) with Popen(cmd, shell=True, stdout=PIPE, stderr=STDOUT) as res: out = res.stdout.read() out = bytes.decode(out,encoding = "utf-8") print(out) ``` b.py ```python import sys if __name__ == '__main__': print(sys.argv[1]) ``` |
5
reself 2019-02-27 11:16:24 +08:00 1
windows 文件占用问题。换 linux 可解。
|
6
zwh2698 2019-02-27 11:30:41 +08:00 via Android 3
办法 1. 将 system 包在线程中,随便循环
办法 2. 使用启动进程 API, python 的或者 os 的都行,不要 wait. 进程相关知识你还不是很熟悉,另外楼上有同学回复有误,不要被误导 |
8
smdbh 2019-02-27 12:57:18 +08:00 1
@CallMeReznov +1
|
9
mythmgn 2019-03-05 17:19:26 +08:00 1
1. 简单写着玩就用 threading 就可以
2. 如果想正经写, 可以考虑线程池. cup 的线程池满足你要求: https://github.com/baidu/CUP/blob/master/cup/services/threadpool.py 3. 或者用异步 shell cup.shell.oper 中的 ShellExec 看你的选择吧 |