python - 如何同时运行相同的 Python 脚本 X 次?
问题描述
我创建了一个 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)
我不确定执行此过程所需的方法。
解决方案
据我了解,Python 默认使用全局解释器锁 (GIL),它限制了一次可以运行的进程数量。
如果您要运行此脚本的机器有多个内核,那么您应该查看多处理库,因为这可用于在不同的内核上运行每个脚本......多线程库也可能有用,但这只会如果有空闲时间,解释器能够在进程之间切换,则工作......
这是以前的答案,可能会对您有所帮助。
此外,对您的问题的评论也包含一些好的想法和链接......
您可以从 shell 运行 python 脚本的多个实例,但是在不使用多线程/多处理的 python 程序中,GIL 限制将影响您尝试执行的操作。
推荐阅读
- mongodb - MongoDB - 集群没有自动发现
- excel - 如何为特定目的创建宏
- java - 无法从同一类中的方法访问类属性 ArrayList 的值
- if-statement - 嵌套 If 语句 SSRS 表达式
- excel - 执行这个宏需要很长时间,可以做些什么来加快它的速度?
- c# - C# / .NET 保持命名管道打开并支持任意数量的并行连接客户端
- javascript - 重定向到函数 React Router Dom 中的路由
- python - celery 上的 python 工作者 (crawler + save db) 的最佳设置
- r - 如何使用 geom_text() 标记 geom_bar(position = 'fill')
- python - 平滑拟合函数