python 多个txt文件合并成一个txt文件

tina437213 2013-04-26 03:32:00
python代码哟!
现有1.txt 2.txt。。。等等多个txt文件,想要把它合并成1个txt文件。
因为数据量很大 所以不想用readline()逐行读取,求大牛指导有没有能整个追加文件的方法。

比如1.txt
123 334
234 jskdfs
dka kdsk

2.txt
dsfmks djks
djsk ksdls

3.txt
。。。

合并成all.txt
123 334
234 jskdfs
dka kdsk
dsfmks djks
djsk ksdls
。。。。
...全文
13626 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
python不懂,shell可以用paste file1 flie2
回复
xuch 2013-04-27
引用 4 楼 openXMPP 的回复:
cat 1.txt 1>>2.txt 这样子行不行 直接上的shell了 加个循环可以叠加
顶4楼,最简单的用 Python system 函数调用shell命令行 1. Linux 系统: cat 2.txt 1 >> 1.txt 2. windows系统: type 2.txt >> 1.txt What hard? How smart?
回复
tina437213 2013-04-27
我这每个小txt大约10M左右。。。
回复
tina437213 2013-04-27
6楼问的 正是我想问的。。
回复
maniachhz 2013-04-26
引用 5 楼 angel_su 的回复:
readline()读一行 read()全部读取 read(n)读n个字节 内存够用就read()一次读入吧,怕文件超大爆内存就read(n),代码类似: fo = open('all,txt', 'w') for name in ['1.txt','2.txt', ...]: fi = open(name) while True: s = fi.read(16*1024) if not s: break fo.write(s) fi.close() fo.close() 红字部分其实就是shutil.copyfileobj,一般读写不是直到磁盘,还需经系统调度的,16k缓存差不多了,再大也没啥加速效果...
弱弱问句, 这条fo = open('all,txt', 'w') 语句, 文件all.txt会不会被覆盖
回复
angel_su 2013-04-26
readline()读一行 read()全部读取 read(n)读n个字节 内存够用就read()一次读入吧,怕文件超大爆内存就read(n),代码类似: fo = open('all,txt', 'w') for name in ['1.txt','2.txt', ...]: fi = open(name) while True: s = fi.read(16*1024) if not s: break fo.write(s) fi.close() fo.close() 红字部分其实就是shutil.copyfileobj,一般读写不是直到磁盘,还需经系统调度的,16k缓存差不多了,再大也没啥加速效果...
回复
乔巴好萌 2013-04-26
cat 1.txt 1>>2.txt 这样子行不行 直接上的shell了 加个循环可以叠加
回复
ImN1 2013-04-26
你自己去围观吧,我没测试过 http://stackoverflow.com/questions/13525847/python-merge-multiple-txt-files
回复
tina437213 2013-04-26
能否给出详细代码 供菜鸟学习一下。。 非常感谢!~
回复
ImN1 2013-04-26
shutil.copyfileobj
回复
相关推荐
发帖
脚本语言
创建于2007-08-27

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
申请成为版主
帖子事件
创建了帖子
2013-04-26 03:32
社区公告

CSDN 脚本语言社区接受专栏投稿(专栏会在顶部创建专属你的栏目),投稿需满足以下要求:

  • 脚本语言技术相关;
  • 文章持续更新,保持活跃;
  • 内容清晰明了,干货为主;
  • 文章排版有序,有条有理。

本社区开通招聘专栏,发布招聘信息请联系版主,发布者需要保证招聘信息真实有效,CSDN 平台和版主不对招聘内容负责!

联系方式:私聊版主、发送邮件、QQ联系等均可: