`
greatghoul
  • 浏览: 146885 次
  • 性别: 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把文本转换为html-Python基础教程-把文本转为HTML格式.pdf

    例如,如果你有一个名为`f1.txt`的文本文件,你可以通过以下命令将其内容传递给你的Python脚本: ```bash python script.py ``` 在这个例子中,`f1.txt`的内容将被读取并作为`sys.stdin`的数据源,可供脚本处理。...

    合并多个RTF文件转换成PDF并添加书签1

    标题中的“合并多个RTF文件转换成PDF并添加书签1”指的是一个自动化流程,它涉及使用Python脚本来合并多个富文本格式(RTF)文件,然后将合并后的文档转换为PDF,并在PDF中添加书签以便于导航。这个过程对于整理和归档...

    python实现文本文件合并

    在Python编程中,合并文本文件是一项常见的任务,特别是在数据处理和日志管理中。本文将介绍两种不同的方法来实现这一功能。 首先,我们来看第一种方法。在这个例子中,我们有两个文件:`employee.txt` 和 `bonus....

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

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

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

    在Python编程中,有时我们需要处理大量文本数据,例如将同一个文件夹下的所有TXT文本文件合并成一个大文件。这个过程涉及到文件的遍历、读取和写入等基本操作。以下是一个具体的Python实现方法,详细解释了如何完成...

    基于python的srt字幕合并.rar

    1. **读取SRT文件**:Python的内置`open()`函数可以用来读取文本文件,然后通过逐行读取解析SRT条目。可以使用正则表达式或者自定义解析逻辑来提取编号、时间戳和文本。 2. **时间戳处理**:根据需求,`srt_shift....

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

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

    python实现大文件分割与合并

    这种方式适用于二进制文件或文本文件。 ```python def file_chunks_split(path, filename, chunksize): ''' 文件按照数据块大小分割为多个子文件 INPUT->文件目录, 文件名, 每个数据块大小 ''' if chunksize >...

    文本合并工具 合并文本文件

    文本合并工具是一款高效实用的应用,专门设计用于将多个TXT文本文件整合为一个单一的文档。在日常工作中,我们经常会遇到需要处理大量独立的文本文件,例如日志记录、笔记、报告或者编程源代码等,这时候,手动逐一...

    文本文件合并软件

    - 使用脚本语言(如Python)自定义文本文件合并,提供更多的自动化和定制化选项。 - 云服务集成:某些工具可能支持与云端文件服务(如Google Drive或Dropbox)配合,实现远程文件的合并。 通过理解这些知识点,...

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

    ### Python 文件操作之合并文本文件内容 #### 一、引言 在软件开发过程中,我们经常需要处理大量的文件,尤其是在进行代码审查或是整理文档时。Python 提供了一系列强大的文件操作功能,使得处理这类任务变得简单...

    Python自动生成DBC文件程序

    传统的DBC创建可能需要手动编辑文本文件或使用专用软件,而这个脚本则提供了一种高效的方法,从Excel文件中直接提取CAN属性信息并生成DBC文件。 首先,你需要一个对应的CAN协议文件,这通常包含了CAN帧ID、数据长度...

    python123_第三次_文件合并_附件12345.zip

    这个名为"python123_第三次_文件合并_附件12345.zip"的压缩包文件似乎与Python编程中的文件处理和数据合并有关。下面我们将深入探讨Python在文件操作,特别是文件合并方面的知识点。 首先,Python提供了丰富的内置...

    txt文本文件合并器

    《txt文本文件合并器:轻松实现批量合并与高效管理》 在信息技术日新月异的今天,处理大量的文本数据已经成为日常工作的一部分。面对一系列分散的txt文本文件,如何快速有效地进行整合,是许多用户面临的问题。这时...

    多文本文件合并

    "可执行文件"可能是一个预编译的程序,用户可以直接运行来合并文本文件,无需了解编程。 总的来说,多文本文件合并是一个常见的需求,通过各种方法和工具都可以轻松实现。无论你是编程新手还是经验丰富的开发者,总...

    同名文本文件合并器 可将两个文件夹中文件名相同的文本文件进行按顺序合并

    标题中的“同名文本文件合并器”是一款工具,它的主要功能是将两个文件夹中具有相同文件名的文本文件合并成一个文件。这个工具对于处理大量分散的文本数据,特别是当需要整合相同主题但分布在不同位置的信息时非常...

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

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

Global site tag (gtag.js) - Google Analytics