python实例-文件合并脚本

发布时间:2020-04-12编辑:脚本学堂
本文介绍了python实现文件合并的方法,一个文件合并的python脚本,有需要的朋友参考下。

python文件合并,有时通过MR跑数会生成N个小文件。
手工合并实在太讨嫌,所以就写了个Python自动合并脚本

代码:
 

复制代码 代码示例:

import os 
import os.path 
import sys 
 
if len(sys.argv)<2: 
    print 'merge file script must have enough parameters!' 
    sys.exit() 

rootdir = sys.argv[1] 
 
#rootdir = r'D:testing'  # 指明被遍历的文件夹 
 
rootdir = rootdir.replace('','/') 
 
if rootdir[len(rootdir)-1] == '/': 
    rootdir = rootdir[0:len(rootdir)-1] 
     
file_output = open( rootdir + '/' + 'merge.txt', 'w') 
 
for parent,dirnames,filenames in os.walk(rootdir):    #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字   
     
    '''''for dirname in dirnames:      #输出文件夹信息                 
        print "parent is:" + parent
        print  "dirname is" + dirname
    ''' 
     
    for filename in filenames:   #输出文件信息   
                 
        if filename == 'merge.txt':    #获取文件不等于输出文件自己 
            continue 
        if filename.startswith('.'):  #过滤隐藏文件 
            continue  
             
        print "filename :" +filename    #记录遍历的文件 
         
        fi = open(rootdir + '/' + filename,'r') 
        while True: 
            s = fi.read(16*1024) 
            #if not s: 
            if s is None or s == "": 
                break 
            file_output.write(s) 
        file_output.write('n') 
         
file_output.close() 
 

快速文件拷贝参考高手的实现方式,http://bbs.csdn.net/topics/390440169
文件读取,按16k缓存进行。
 
最后输出一个文件。

使用方式:
 

复制代码 代码示例:
python merger.py d:testing

在d盘下的testing文件夹中将所有的文件,文件夹不会遍历,进行合并。