python : How to make different thread read different sections of my file

标签 python multithreading

我有一个大约有 300 万行的文件。每行包含一些我想解析并将其发布到远程服务调用的数据。

如果我按顺序读取文件,则整个程序完成运行所需的时间太长。

我正在考虑启动一个线程池,每个线程在文件的不同行上迭代(例如:线程 1 将读取第 1 行到第 10 行,线程 2 读取第 11 行到第 20 行等等),经典 map/reduce问题。有没有一种在 python 中可以快速完成此任务的方法,任何可以帮助我完成此任务的库。

最佳答案

如果是逐行读取文件,用python做多线程是不容易的。因为seek()方法需要知道每一行的字节偏移量。

另一种方法是先拆分文件,比如在 Linux 上使用“拆分”。然后启动多个线程分别处理拆分后的文件。

关于 python : How to make different thread read different sections of my file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29270188/

相关文章:

python - 无法解析网页中的某些字段

java - 使用java的简单多线程服务器聊天

java - Android中如何在不使用线程的情况下延迟执行代码

java - 线程安全树

multithreading - 为什么阻塞系统调用会阻塞用户级线程的整个过程?

python - 查找图像中的第一个非零值

python - 我可以声明不兼容的 python 依赖项吗?

java - 在 Java 游戏中的两个线程之间同步键盘输入

python - 在 Numpy 中分割多维数组

python - Boto3 和 AWS Lambda - 删除早于