方法一:bat方法
- 经需要压缩的文件移动到一个文件夹里
- 在文件夹内新建文本文件“合并程序.txt”,输入
copy *.txt result.txt
- 将“合并程序.txt”后缀改为
bat
- 执行“合并程序.bat”
- 生成合并后文件“result.txt”
方法二:python(1)
此方法和bat方法一样,只能合并同一个文件夹下的所有txt文件。
#本程序只能实现一个文件夹下的txt文件合并,不能合并文件夹的子文件里的文件
#本知识来源于:https://sourl.cn/UxVBGi
#coding=utf-8
import os
#获取目标文件夹的路径
filedir = os.getcwd()+'/sourse' # 输入和程序在同一个文件夹下的文件夹目录
#获取当前文件夹中的文件名称列表
filenames=os.listdir(filedir)
#打开当前目录下的result.txt文件,如果没有则创建
f=open('合并后文档.txt','w',encoding='utf-8')
# 先遍历文件名
for filename in filenames:
filepath = filedir+'/'+filename
#遍历单个文件,读取行数
for line in open(filepath,encoding='utf-8'):
f.writelines(line)
f.write('\n')
#关闭文件
f.close()
方法三:python(2)
此方法可以合并某一文件夹及其子文件夹内的所有txt文件。(推荐此方法)
# 本知识来源于:https://sourl.cn/LR2N5W
# 本程序支持合并文件夹及其子文件中txt的合并
import os
#运行Python过程中输入文件夹路径及合并后的文件路径及名称
#rootdir = raw_input("the old path: ")
#newfile = raw_input("the new path and filename: ")
rootdir = r'D:\系统自带文件夹\新建文件夹 (5)\python合并txt文件\20190101' #输入需要合并文件的文件夹路径
newfile = r'D:\系统自带文件夹\新建文件夹 (5)\python合并txt文件\合并后文档.txt' #输入合并后文件的路径
paths = [] #存放文件夹(含子文件夹)下所有文件的路径及名称
#获取文件夹(含子文件夹)下所有文件的路径及名称
for root, dirs, files in os.walk(rootdir):
for file in files:
paths.append(os.path.join(root, file).encode('utf-8')) #支持中文名称
#创建新的文件
f = open(newfile,'w',encoding='utf-8')
# 将之前获取到的文件夹(含子文件夹)下所有文件的路径及名称里的内容写进新建的文件里
for i in paths:
for line in open(i,encoding='utf-8'):
f.writelines(line)
f.close() #保存并关闭新建的文件