`
greatghoul
  • 浏览: 143735 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Python合并文本文件

阅读更多
整理资料时,整出了高中时读过的一本书,还不错,不过当时是用电子辞典读的,没有书签功能,只能划成一个个的,现在读起来反倒麻烦。

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

# 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()
分享到:
评论
13 楼 伊落丹 2010-11-16  
liangguanhui 写道
f = open('all.txt', 'w')
for i in sys.argv[1:]: f.write(open(i).read())
f.close()

每次write会覆盖之前的内容吧。
12 楼 izat 2010-10-08  
kairos 写道
好简洁阿,
但是这个f是怎么打开的。。


只是替换了For循环,没打开也没关闭……
11 楼 kairos 2010-10-06  
好简洁阿,
但是这个f是怎么打开的。。
10 楼 izat 2010-09-16  
liangguanhui 写道
f = open('all.txt', 'w')
for i in sys.argv[1:]: f.write(open(i).read())
f.close()


reduce(lambda _, x: f.write(open(x).read()), sys.argv)
9 楼 mossmouser 2010-07-06  
啊,总算能看明白点楼主的代码。正在窃喜。
就看到是被说成垃圾代码。。
惭愧……
8 楼 liangguanhui 2010-06-19  
f = open('all.txt', 'w')
for i in sys.argv[1:]: f.write(open(i).read())
f.close()
7 楼 greatghoul 2010-06-16  
不如论坛里面的各位python大鸟,就以这段代码为蓝本,Python合并文本文件,看看谁写的代码更pythonic吧。
(调用copy *.txt out.txt的方法就算了)
6 楼 greatghoul 2010-06-16  
rrsy23 写道
什么垃圾代码

能不能写的漂亮点[格式,排版,简洁]


不过,如果你如果愿意花点时间,把这段“垃圾”代码改写的格式,排版,简洁,我倒是很愿意请教。我这段确实很多地方欠考虑。
5 楼 greatghoul 2010-06-16  
rrsy23 写道
什么垃圾代码

能不能写的漂亮点[格式,排版,简洁]


初学而已,你初学的时候,大概还写得不如我呢。
4 楼 sunzongbao2007 2010-06-16  
楼上 你太坏了。
3 楼 rrsy23 2010-06-14  
什么垃圾代码

能不能写的漂亮点[格式,排版,简洁]
2 楼 greatghoul 2010-06-08  
zbird 写道
copy *.txt out.txt

这个俺知道,只是练习脚本而已。
1 楼 zbird 2010-06-08  
copy *.txt out.txt

相关推荐

    python合并文本文件示例

    python实现两个文本合并 employee文件中记录了工号和姓名复制代码 代码如下:cat employee.txt:100 Jason Smith200 John Doe300 Sanjay Gupta400 Ashok Sharma bonus文件中记录工号和工资复制代码 代码如下:cat bonus...

    Python文本文件合并工具

    其他说明: 这个工具是一个基本示例,使用了 Python 的文件操作功能来合并文本文件内容。用户需要提供输出文件名和要合并的多个输入文件名,工具会将这些文件的内容合并到输出文件中。用户可以根据需要自行扩展工具的...

    python实现文本文件合并

    python合并文本文件示例代码。 python实现两个文本合并 employee文件中记录了工号和姓名 cat employee.txt: 100 Jason Smith 200 John Doe 300 Sanjay Gupta 400 Ashok Sharma bonus文件中记录工号和工资 cat ...

    用Python合并多个文件为一个文本文件

    Python文件处理操作方便快捷,本文为大家提供的是如何用Python合并多个文本文件的代码示例。要把多个txt或是其它类型文件合并成一个,手动操作费时费力,不如自己动手写一个python代码来完成,一劳永逸。 要完成这个...

    python3.7.2下多个txt文件合并去重

    第一次学习py下的py最新版然而网上相关教程都是老版,各种语法错误(纠错使人印象深刻),也许效率不高,但是基本拿来就能用. 根目录下所有txt一次性合并去重,太大了跑的可慢了。。

    Python实现合并同一个文件夹下所有txt文件的方法示例

    主要介绍了Python实现合并同一个文件夹下所有txt文件的方法,涉及Python针对文件的遍历、读取、写入等相关操作技巧,需要的朋友可以参考下

    Python文件操作之合并文本文件内容示例代码

    众所周知Python文件处理操作方便快捷,下面这篇文章主要给大家介绍了关于Python文件操作之合并文本文件内容的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。

    python 递归获取子文件夹下的文件名 和文件类别标签

    本文采用的一个文件下的40类数据做实验: 最后保存成如下文件形式: 文件路径+文件名+类别标签 具体代码如下: # -*- coding: utf-8 -*- """ Created on Sat Mar 21 10:51:04 2020 filenameToCSV @author: ...

    Python 合并多个TXT文件并统计词频的实现

    主要介绍了Python 合并多个TXT文件并统计词频的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Python文本文件的合并操作方法代码实例

    我们有时候,看到几k的日志文件,一大堆,一个一个打开又很麻烦,少看几个,又担心遗漏,这个时候,如果有一个可以合并所有文本文件的工具就好了。 下面这个代码就可以实现,它不局限于.txt格式,基本上字符型的文本...

    python实现有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中

    # 题目: # 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中。

    python将多个文本文件合并为一个文本的代码(便于搜索)

    但是,当一本书学过之后,对...合并之后的源代码文件并不大,n*100KB而已,打开和搜索都是很快速的。大家可以将同一种编程语言的所有实例通过这种方法全部合并为一个文件,搜索的效率就会大大提高。 注意:保存代码之后

    基于python实现word文档文本读取与文档转换pdf源码

    单击工具栏中的“Word转PDF”按钮,将打开“Word转PDF”子窗体,在该窗体中,首先单击“请选择Word文本所在路径”右侧的“…”浏览按钮,选择要转换源路径,这时系统将自动获取该路径下的全部Word文档文件,...

    基于python实现word文档文本读取与文档转换pdf源码分享

    单击工具栏中的“Word转PDF”按钮,将打开“Word转PDF”子窗体,在该窗体中,首先单击“请选择Word文本所在路径”右侧的“…”浏览按钮,选择要转换源路径,这时系统将自动获取该路径下的全部Word文档文件,...

    Python利用字典将两个通讯录文本合并为一个文本实例

    主要介绍了Python利用字典将两个通讯录文本合并为一个文本实例,具有一定借鉴价值,需要的朋友可以参考下

    python分割一个文本为多个文本的方法

    主要为大家详细介绍了python分割一个文本为多个文本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    windows 64位 python-3.4安装包

    Python标准库的主要功能有: 文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持,二进制数据处理等功能 文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能 ...

Global site tag (gtag.js) - Google Analytics