同时运行多个带有解析参数的python脚本



我有一个带有解析参数'client_k.py'的python脚本。为了运行它,我在终端python client_k 1中写入。如果我想在终端上同时运行100个客户端,除了手工编写python client_k.py 1 & python client_k.py 2 & ... & python client_k.py 100之外,有没有别的方法?提前谢谢。

您可以创建一个带有for的新python脚本,以便多次运行该脚本。

client_k.py例子:

def client_k(args=None):
parser = argparse.ArgumentParser()
parser.add_argument('my_arg')
args = parser.parse_args(args=args)
print('My arg:',args.my_arg)
if __name__ == '__main__':
client_k()

run_client_k.py:

from client_k import client_k
for i in range(100):
client_k([str(i)])

如果你运行它,你的输出将是:

My arg: 0
My arg: 1
My arg: 2
My arg: 3
...
My arg: 99

或者,如果您必须一次执行所有命令,例如在您的描述中,您可以使用子进程:

import subprocess
bashCmd = ''
n = 10 # number of executions
for i in range(n):
bashCmd +='python client_k.py '+str(i)+' '
if i != n-1:
bashCmd +='& ' # Not adding & for the last command
ret = subprocess.run(bashCmd, capture_output=True,shell=True)
print(ret.stdout.decode())

最新更新