python - 通过多个线程将数据写入一个文件
问题描述
如何使用 ProcessPoolExecutor 从多个线程将数据写入单个文件?我遇到了问题
Traceback (most recent call last):
File "/usr/lib/python3.6/multiprocessing/queues.py", line 234, in _feed
obj = _ForkingPickler.dumps(obj)
File "/usr/lib/python3.6/multiprocessing/reduction.py", line 51, in dumps
cls(buf, protocol).dump(obj)
TypeError: cannot serialize '_io.TextIOWrapper' object
我的例子在这里
解决方案
ProcessPoolExecutor
使用单独的进程,而不是线程。如果你想要线程,你需要
ThreadPoolExecutor
.如果您需要单独的进程,则不能共享这样的变量。
从多个线程/进程写入同一个文件可能具有挑战性。你想达到什么目的?可能有更简单的方法来做到这一点......
推荐阅读
- css - 如何使用线性渐变创建无限背景图案动画?
- r - 我可以使用“lapply”在 R 中重写这个循环吗?
- python - 如何在不考虑空格并知道字符串的原始索引的情况下在字符串中查找子字符串
- google-chrome - Chrome 扩展程序在自动更新后缺少文件
- javascript - 以 HTML/CSS 为中心制作文本和图片
- react-native - React Native / Redux - 中间件中的商店为空
- python - Python .. 访问默认排序功能?
- java - 如何在 Android 上从 ASP.NET 站点下载文件?
- bash - 在子目录列表上迭代 shell 脚本
- python - 模块“networkx”没有属性“add_nodes_from”