使用python的多线程读写文件

巴拉塔

所以,我有一个9000行的csv文件。我已经阅读并将其存储在带有字符串键m的字典列表中。我要做的是为每个项目循环list[m]并将其处理为一个函数processItem(item)processItem将返回类似于csv格式的字符串。我的目的是为processItem列表中的每个项目编写函数的结果有什么想法如何做这种多线程的方式吗?

我认为我应该将列表划分为N个子列表,然后以多线程方式处理这些子列表。每个线程将返回从子列表处理的字符串,然后将其合并。最后将其写入文件。如何实现呢?

德尔甘

这是使用multiprocessing模块和Pool()功能的完美示例(请注意,threading模块不能用于提高速度)。

您必须在列表的每个元素上应用一个函数,因此可以很容易地将其并行化。

with Pool() as p:
    processed = p.map(processItem, lst)

如果您使用的是Python 2,Pool()则不能用作上下文管理器,但是可以这样使用它:

p = Pool()
processed = p.map(processItem, lst)

processItem()将为中的每个元素调用函数lst,结果将创建一个新列表processed(保留顺序)。

该函数Pool()产生了CPU具有内核的尽可能多的进程工作程序,并且该函数会在上一个任务完成后立即执行新任务,直到处理完所有元素为止。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在python中使用多线程下载文件

来自分类Dev

python中使用并行线程的多线程

来自分类Dev

使用python读写.docx文件

来自分类Dev

具有对齐的int的多线程读写

来自分类Dev

来自多个文件的Python多线程

来自分类Dev

python3多线程写入文件

来自分类Dev

来自多个文件的Python多线程

来自分类Dev

Python 多线程问题文件操作

来自分类Dev

对多个文件副本使用多线程

来自分类Dev

多线程文件传输/使用javascript下载

来自分类Dev

对多个文件副本使用多线程

来自分类Dev

使用多线程从文件加载数据

来自分类Dev

使用ThreadPool在Python中进行多线程

来自分类Dev

使用Python和pymongo的多线程

来自分类Dev

Python-在多线程中使用nonce

来自分类Dev

使用Python多线程时的属性错误

来自分类Dev

Python多线程但使用对象实例

来自分类Dev

使用Opencv Python多线程录制视频

来自分类Dev

Python,使用Queue进行多线程

来自分类Dev

使用多线程构建python dict

来自分类Dev

如何使用Python 2.7通过HTTP使用多线程下载文件(异步下载)

来自分类Dev

多线程文件搜索

来自分类Dev

使用python测量文件的原位读写速度

来自分类Dev

使用python测量文件的原位读写速度

来自分类Dev

使用 Python 读写非 .txt 文件

来自分类Dev

多线程写入文件时,使用BufferReader读取文件

来自分类Dev

多线程Python:线程通信

来自分类Dev

多线程Python:线程通信

来自分类Dev

协助Python多线程