锁定老帖子 主题:Python合并文本文件
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-07
于是就写个脚本把它们合并起来。 # coding gbk # # author: GreatGhoul # email : greatghoul@gmail.com # blog : http://greatghoul.iteye.com import sys,os,msvcrt def join(in_filenames, out_filename): out_file = open(out_filename, 'w+') err_files = [] for file in in_filenames: try: in_file = open(file, 'r') out_file.write(in_file.read()) out_file.write('\n\n') in_file.close() except IOError: print 'error joining', file err_files.append(file) out_file.close() print 'joining completed. %d file(s) missed.' % len(err_files) print 'output file:', out_filename if len(err_files) > 0: print 'missed files:' print '--------------------------------' for file in err_files: print file print '--------------------------------' if __name__ == '__main__': print 'scanning...' in_filenames = [] file_count = 0 for file in os.listdir(sys.path[0]): if file.lower().endswith('[all].txt'): os.remove(file) elif file.lower().endswith('.txt'): in_filenames.append(file) file_count = file_count + 1 if len(in_filenames) > 0: print '--------------------------------' print '\n'.join(in_filenames) print '--------------------------------' print '%d part(s) in total.' % file_count book_name = raw_input('enter the book name: ') print 'joining...' join(in_filenames, book_name + '[ALL].TXT') else: print 'nothing found.' msvcrt.getch() 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-06-08
copy *.txt out.txt
|
|
返回顶楼 | |
发表时间:2010-06-08
zbird 写道 copy *.txt out.txt 这个俺知道,只是练习脚本而已。 |
|
返回顶楼 | |
发表时间:2010-06-14
什么垃圾代码
能不能写的漂亮点[格式,排版,简洁] |
|
返回顶楼 | |
发表时间:2010-06-16
楼上 你太坏了。
|
|
返回顶楼 | |
发表时间:2010-06-16
rrsy23 写道 什么垃圾代码
能不能写的漂亮点[格式,排版,简洁] 初学而已,你初学的时候,大概还写得不如我呢。 |
|
返回顶楼 | |
发表时间:2010-06-16
rrsy23 写道 什么垃圾代码
能不能写的漂亮点[格式,排版,简洁] 不过,如果你如果愿意花点时间,把这段“垃圾”代码改写的格式,排版,简洁,我倒是很愿意请教。我这段确实很多地方欠考虑。 |
|
返回顶楼 | |
发表时间:2010-06-16
不如论坛里面的各位python大鸟,就以这段代码为蓝本,Python合并文本文件,看看谁写的代码更pythonic吧。
(调用copy *.txt out.txt的方法就算了) |
|
返回顶楼 | |
发表时间:2010-06-19
最后修改:2010-06-20
f = open('all.txt', 'w') for i in sys.argv[1:]: f.write(open(i).read()) f.close() |
|
返回顶楼 | |
发表时间:2010-07-06
啊,总算能看明白点楼主的代码。正在窃喜。
就看到是被说成垃圾代码。。 惭愧…… |
|
返回顶楼 | |