johnthegreat

我们有时候,看到几k的日志文件,一大堆,一个一个打开又很麻烦,少看几个,又担心遗漏,这个时候,如果有一个可以合并所有文本文件的工具就好了。

下面这个代码就可以实现,它不局限于.txt格式,基本上字符型的文本文档,包括.py格式,.c格式都可以,生成的文件与原来的文件在同一个文件夹下,’joined xxxx-xx-xx.(扩展名)’就是最终的名字。

上代码:

import os
import datetime

# 新的文件名中以日期结尾,以下获取系统日期
date = str(datetime.datetime.today())[0:10]

file_lists = []


def text_file_merger(directory_path):
    entry_lists = os.scandir(directory_path)
    for entry_list in entry_lists:
        if entry_list.is_file():
            file_lists.append(entry_list.path)

    for file in file_lists:
        file_type_extension = os.path.splitext(file)[1]  # 获取文件的扩展名,基本上.txt, .py之类的文本文档合并没有问题
        joined_file_name = \'joined {}{}\'.format(date, file_type_extension)
        with open(file, \'rb\') as file_to_read:
            file_contents = file_to_read.read()
            with open(directory_path + os.sep + joined_file_name, \'ab+\') as file_to_write:
                file_to_write.write(file_contents + b\'\n\' * 3)  # 让每个文件的内容之间相隔3行


directory_path = r"D:\日志文件"

text_file_merger(directory_path)

 

输出:

 

 

因为以二进制方式读取,所以不管中文还是英文,都无缝支持。

分类:

技术点:

相关文章:

  • 2021-12-04
  • 2021-12-29
  • 2022-12-23
  • 2022-01-01
  • 2022-12-23
  • 2022-12-23
  • 2021-08-13
  • 2021-09-25
猜你喜欢
  • 2021-05-30
  • 2022-12-23
  • 2021-12-16
  • 2023-03-13
  • 2021-12-12
  • 2021-07-04
相关资源
相似解决方案