【python】将多个txt文件合并为一个txt文件

【python】将多个txt文件合并为一个txt文件

    • 思路
    • 代码展示
    • 代码可直接运行
    • 可直接运行文件

思路

代码目的

在做词云图的时候需要用到多个txt文件中的内容,但是一个个复制粘贴到一个文件中十分麻烦,因此需要借助python将多个txt内容合并到同一个txt文件中
代码模块
有两个模块,一个用于读取相关文件夹下的文件名,另一个读取并存储。

代码展示

def read_files():
    """该函数用于读取对应文件夹下各txt文件的名字"""
    path = input("目标文件夹:") + '/'   #建议直接将文件夹的绝对路径写入即可
    files = os.listdir(path)
   file_names=[]
    for file in files:
        if file.split('.')[-1] =='txt':#如果不是txt文件就跳过
            file_names.append(file)
    return  path,file_names
def mixed_file( path,files):
    """该函数用于合并刚才读取的各文件
    输入:文件路径,read_files()返回的文件名
    输出:一个合并后的文件"""
 
    content = ''
    #读取文件
    for file_name in files:
        with open( path+file_name , 'r' ,encoding='utf-8') as file:
            content = content + file.read()
            file.close()
   #保存文件
    with open(path + '合并后的文件.txt', 'a',encoding='utf-8') as file:
        file.write(content)
        content = ''
        file.close()

代码可直接运行

# -*- coding: utf-8 -*-
import os
def read_files():
    """该函数用于读取对应文件夹下各txt文件的名字"""
    path = input("目标文件夹:") + '/'
    files = os.listdir(path)
   file_names=[]
    for file in files:
        if file.split('.')[-1] =='txt':#如果不是txt文件就跳过
            file_names.append(file)
    return  path,file_names

def mixed_file( path,files):
    """该函数用于合并刚才读取的各文件
    输入:文件路径,read_files()返回的文件名
    输出:一个合并后的文件"""
    content = ''
    for file_name in files:
        with open( path+file_name , 'r' ,encoding='utf-8') as file:
            content = content + file.read()
            file.close()

    with open(path + '合并后的文件.txt', 'a',encoding='utf-8') as file:
        file.write(content)
        content = ''
        file.close()
        
if __name__ == '__main__':
    path,files = read_files()
    mixed_file( path,files)

可直接运行文件

我最后把以上代码打包成.exe文件,临时需要的朋友可以直接下载使用: 点击即可

你可能感兴趣的:(python学习,python)