Python
20220102_python多进程multiprocessing使用方法
Song Wei
2023年3月16日 06:11
161
20220102_python多进程multiprocessing使用方法
(1)Python multiprocessing 是 Python 标准库中提供的一个多进程处理模块,它允许在 Python 中方便地使用多进程并行处理数据和任务,从而加快程序的运行速度。
(2)使用 multiprocessing 模块,可以在 Python 中轻松创建和管理多个进程,并实现数据共享和通信。该模块提供了 Process 类和 Queue 类等多个类和函数,可用于创建和管理多个进程和进程间通信。
=================================================
以多进程拷贝压缩文件为案例:
(base) root@dell-server:/home/newdisk_dell_4/test2# ls -lhtr总用量 4.2G-rwxr-xr-x 1 root root 429M 1月 1 10:37 HiC_1.fastq-rwxr-xr-x 1 root root 429M 1月 1 10:38 HiC_2.fastq-rwxr-xr-x 1 root root 429M 1月 1 10:38 HiC_3.fastq-rwxr-xr-x 1 root root 429M 1月 1 10:38 HiC_4.fastq-rwxr-xr-x 1 root root 429M 1月 1 10:38 HiC_5.fastq-rwxr-xr-x 1 root root 429M 1月 1 10:38 HiC_6.fastq-rwxr-xr-x 1 root root 429M 1月 1 10:38 HiC_7.fastq-rwxr-xr-x 1 root root 429M 1月 1 10:38 HiC_8.fastq-rwxr-xr-x 1 root root 429M 1月 1 10:39 HiC_9.fastq-rwxr-xr-x 1 root root 429M 1月 1 10:39 HiC_10.fastq-rw-r--r-- 1 root root 930 1月 1 11:08 copy_gzip_multiprocessing-method3.py(base) root@dell-server:/home/newdisk_dell_4/test2# cat copy_gzip_multiprocessing-method3.pyimport osimport sysimport argparseimport timeimport multiprocessingdef copy_gzip_files(copy_file) :os.system('cp ../%s ./'%(copy_file))os.system('gzip ./%s '%(copy_file))print('%s is copying and compressing.'%(copy_file))def test() :os.system('rm -rf new_files && mkdir new_files ')files = os.popen('ls -lhtr *.fastq | cut -d ":" -f 2 - | cut -d " " -f 2 - ').read().strip().split("\n")os.chdir('./new_files')print(files)pool = multiprocessing.Pool(4)for eles in files :#print (eles)#pool.apply_async(copy_files,args=(eles))pool.apply_async(copy_gzip_files,(eles,))pool.close()pool.join()print('Copy and compressing processing is finished!')test()(base) root@dell-server:/home/newdisk_dell_4/test2# python3 copy_gzip_multiprocessing-method3.py
标签:
python
北京 天气
晴
2℃