不说那么多了 直接上代码
干活两分钟 摸鱼摸一天 卷死同行
import os
from docx import Document
from docxcompose.composer import Composer
# 定义合并文档的函数
def walkFile(file):
new_list = []
for root, dirs, files in os.walk(file):
# root 表示当前正在访问的文件夹路径
# dirs 表示该文件夹下的子目录名list
# files 表示该文件夹下的文件list
# 遍历文件
for f in files:
if f.endswith('.cpp'):#这里是你要合并的文件后缀名
new_list.append(os.path.join(root, f))
# 遍历所有的文件夹
for d in dirs:
os.walk(os.path.join(root, d))
return new_list
if __name__ == '__main__':
# 原文件夹绝对路径, python能自动找到当前文件夹在当前电脑上的绝对路径
current_path = os.path.abspath('.')
source_path = rf'{current_path}'
# 目标文件路径
target_file = rf'{current_path}\合并的文档.txt'
# print(target_file)
# input("合并成功!输入任意字符结束")
new_list = walkFile(source_path)
# 获取源文件夹内内文件列表
s=""
try:
for item in new_list:
with open(item,"r",encoding='gb2312') as f:
read_data = f.read()
print(read_data)
s+="["+item.split("\\")[-1]+"]\n```cpp\n"+read_data+"\n```\n"
with open(target_file, "w", encoding='utf-8') as f:
f.write(s)
input("文档合并成功!输入任意字符结束对话框")
except Exception as e:
print(e)
input("出错了, 输入任意字符结束")