鱼C论坛

 找回密码
 立即注册
查看: 1917|回复: 4

读取一个文件夹内几千个小txt的方法,多线程

[复制链接]
发表于 2021-3-4 14:50:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
想请教下各位,一个文件内有几千个txt文件。文件内容并不大。

需求是把所有txt的文件,读取后,最后写入到excel里
我想到的是用多线程threading去干这事。

1.os.listdir(path)------->获取文件夹内的文件名字列表[1.txt,2.txt.................................5000.txt]
2.for下标循环,把上边获取的list切成5份。
[1.txt......1000.txt]
[1001.txt.....2000.txt]
[2001.txt....3000]
[3001.txt....4000]
[4001.txt...5000]
3.每份去开一个线程去读,清洗

最后5个线程返回的数据合在一起。

还有别的思路或者推荐吗?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-4 17:13:59 | 显示全部楼层
很简单啊,你把所有的文件名都读取出来,放入消息队列中,然后启动线程去干,干完就用一个全局变量添加一下,然后继续干,直到消息队列为空。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-4 17:50:37 | 显示全部楼层
用生产者消费者模型  根据清洗流程可以分多级消费者
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-8 10:16:51 | 显示全部楼层
kogawananari 发表于 2021-3-4 17:50
用生产者消费者模型  根据清洗流程可以分多级消费者

试试这个去,看看效率能否快点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-8 10:18:19 | 显示全部楼层
本帖最后由 rsj0315 于 2021-3-8 11:41 编辑

一会试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 09:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表