如何同时运行相同的 Python 脚本 X 次? [复制]

Posted

技术标签:

【中文标题】如何同时运行相同的 Python 脚本 X 次? [复制]【英文标题】:How do I run the same Python script X amount of times simultaneously? [duplicate] 【发布时间】:2019-07-09 18:12:30 【问题描述】:

我创建了一个 Python 脚本,我想同时执行多次。我该怎么做?

我正在用 Python(使用 Selenium chromedriver)编写自动化脚本,并且有一个脚本可以访问网站并创建一个帐户。我想创建某种批处理文件来同时执行这个脚本 X 次,这样我就可以在这个网站上一次创建多个帐户。

理想情况下,我想在程序启动时输入一个输入,询问您要创建多少个帐户,然后输入是要同时运行多少个脚本。例如

import os 
number = input("How many guest users do you want to create? ")
run_test = os.system('python create_guest_user.py')
number = int(number)

# run the 'create_guest_user.py' script 'number' amount of times simultaneously
# (unsure on how to do this part)

我不确定执行此过程所需的方法。

【问题讨论】:

之前有人问过这个问题,查看this post了解线程 使用外壳:for ((i=0; i < $n; i++)); do create_guest_user.py & done; 其他人提到了线程和多处理,它们都是很好的工具。在一次性情况下,我只是创建了多个控制台并在每个控制台中运行脚本。这不是一个好的解决方案,但可能是一个偶尔有用的技巧 【参考方案1】:

据我了解,Python 默认使用全局解释器锁 (GIL),它限制了一次可以运行的进程数。

如果您要在其上运行此脚本的机器具有多个内核,那么您应该查看多处理库,因为这可用于在不同的内核上运行每个脚本......但是多线程库也可能有用这只有在解释器能够在有空闲时间的情况下在进程之间切换时才有效......

这是以前的答案,可能会对您有所帮助。

execute python script multiple times

此外,根据您的问题制作的 cmets 也包含一些好的想法和链接...

您可以从 shell 运行 python 脚本的多个实例,但是在不使用多线程/多处理的情况下从 python 程序中 GIL 限制将影响您尝试执行的操作。

【讨论】:

以上是关于如何同时运行相同的 Python 脚本 X 次? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在具有不同输入的 1x exe 中同时多次运行 python 脚本

运行多个 python 脚本,一个要求输入,不允许输入脚本运行。另外,我如何同时运行脚本(Python)

如何使用 QProcess 同时运行多个 python 脚本

如何限制一个脚本可以运行某段代码的副本数?

Python练习——同时安装python2 与 python 3如何选择不同解释器运行脚本

如何同时运行多个JMX脚本?