用py帮我写一个并行任务脚本
时间: 2024-05-03 17:20:14 浏览: 14
好的,我可以给你提供一些参考代码:
```python
import multiprocessing
def task(num):
print("Executing task {}".format(num))
if __name__ == '__main__':
num_cores = multiprocessing.cpu_count()
pool = multiprocessing.Pool(num_cores)
tasks = [i for i in range(10)]
pool.map(task, tasks)
pool.close()
pool.join()
```
这段代码使用 Python 的 multiprocessing 模块实现了并行执行任务。在这个例子中,我们定义了一个 task 函数,它接受一个参数 num,并打印出执行的任务编号。然后,我们获取计算机的 CPU 核心数,并创建一个进程池。我们定义了一个包含 10 个任务编号的列表,然后使用 pool.map 方法将每个任务分配给进程池中的某个进程。最后,我们关闭进程池,等待所有任务执行完毕。
你可以根据自己的实际需求修改这个代码,并将其保存成一个 Python 脚本,在命令行中用 python your_script.py 命令执行。
相关问题
python 并行运行 脚本
在Python中可以使用`multiprocessing`模块来实现脚本的并行运行。下面是一个简单的示例:
```python
import multiprocessing
def run_script(script_name):
# 执行脚本的代码
pass
if __name__ == '__main__':
script_list = ['script1.py', 'script2.py', 'script3.py']
pool = multiprocessing.Pool(processes=3) # 创建进程池,最多同时运行3个进程
pool.map(run_script, script_list) # 并行运行脚本
pool.close()
pool.join()
```
在上面的示例中,定义了一个`run_script`函数用来执行脚本,`script_list`列表中存放了需要并行运行的脚本名。使用`multiprocessing.Pool`创建进程池,`processes`参数指定最多同时运行的进程数。然后使用`pool.map`函数并行运行脚本,其会依次取出`script_list`中的脚本名传递给`run_script`函数执行。最后需要调用`pool.close()`和`pool.join()`来等待所有进程结束。
shell脚本实现选择多个python文件并行执行
可以使用以下的 shell 脚本来实现选择多个 Python 文件并行执行:
```bash
#!/bin/bash
# 获取所有的 Python 文件
files=$(ls *.py)
# 遍历所有的 Python 文件,使用 & 符号来让它们并行执行
for file in $files
do
python $file &
done
# 等待所有的 Python 文件执行完毕
wait
```
这个脚本会获取当前目录下所有的 Python 文件,并使用 & 符号来让它们并行执行。最后,使用 wait 命令来等待所有的 Python 文件执行完毕。