六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 36|回复: 0

Python合并文本文件

[复制链接]

升级  1.33%

12

主题

12

主题

12

主题

秀才

Rank: 2

积分
52
 楼主| 发表于 2013-1-15 02:28:26 | 显示全部楼层 |阅读模式
整理资料时,整出了高中时读过的一本书,还不错,不过当时是用电子辞典读的,没有书签功能,只能划成一个个的,现在读起来反倒麻烦。

于是就写个脚本把它们合并起来。

# coding gbk## author: GreatGhoul# email : greatghoul@gmail.com# blog  : http://greatghoul.iteye.comimport sys,os,msvcrtdef 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()
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

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