zoukankan      html  css  js  c++  java
  • Python文件操作---合并文本文件内容

    
    

    目前一个用的比较多的功能:将多个小文件的内容合并在一个统一的文件中,对原始文件重命名标记其已被处理过。
    之前使用其他脚本写的,尝试用python写了一下,顺便熟悉一下python的文件处理命令。

    原始文件

    经过处理之后

    最后还有一个蛋疼的因为缩进产生的第一个回车符

    其中包含了文件的创建和移除,文件内容的读写,文件的重命名的语法命令等等

    # -*- coding: utf-8 -*-
    import os
    import time
    import datetime
    
    def merge_file(file_path,file_name):
        #file_path must exits
        if(os.path.exists(file_path) is False):
            print('file_path is not exists')
            return
    
        if(os.path.exists(os.path.join(file_path, file_name))):
            os.remove(os.path.join(file_path, file_name))
    
        #'%Y_%m_%d%H%M%S',创建一个以日期命名的文本文件
        targetfilename  = str(time.strftime('%Y%m%d%H%M%S'))+'.txt'
        fobj = open(os.path.join(file_path, targetfilename), 'w')
        fobj.close()
    
        # a 是以追加的方式打开文件写入
        with open(os.path.join(file_path, targetfilename), 'a', encoding='GBK') as f_wirte:
            files = os.listdir(file_path)
            for file in files:
                print(os.path.join(file_path, file))
                with open(file_path+'\'+file, 'r', encoding='GBK') as f:
                    for line in f.readlines():
                        if(line.strip().__len__()) > 0:# 排除空行
                            f_wirte.write(line)
                    f_wirte.write('
    ')# 每读完一个文件之后,加一个回车,否则第一个文件的最后一行跟第二个文件的第一行没有回车
    
                # 文件合并之后,重命名原始的文件,
                # os.path.splitext(file)[0] 提取文件名,不包括后缀名
                # os.path.splitext(file)[1] 提取文件后缀名
                if (file != targetfilename):
                    os.rename(os.path.join(file_path, file),os.path.join(file_path, os.path.splitext(file)[0] + '在_' +str(time.strftime('%Y%m%d%H%M%S')) +'_已处理' + '.txt'))
    
    
    merge_file('D:TestPythonMergeFile','auoto_create_a_category_file')
  • 相关阅读:
    ABAP 程序中的类 沧海
    ABAP类的方法(转载) 沧海
    More than 100 ABAP Interview Faq's(2) 沧海
    SAP and ABAP Memory总结 沧海
    ABAP Frequently Asked Question 沧海
    ABAP System Reports(Additional functions) 沧海
    ABAP Questions Commonly Asked 1 沧海
    ABAP Tips and Tricks 沧海
    ABAP System Fields 沧海
    ABAP 面试问题及答案(一):数据库更新及更改 SAP Standard (转) 沧海
  • 原文地址:https://www.cnblogs.com/wy123/p/7510820.html
Copyright © 2011-2022 走看看