import os
rootdir = input("the old path:") # 获得控制台输入
paths = [] # 存放所有的文件路径和名称(包括子目录)
# os.walk生成器,每个参数都有对应的位置 root/文件夹地址本身, dirs/是一个list,对应文件夹名称, file/list,对应文件本身的名称
for root,dirs,files in os.walk(rootdir):
for file in files: # 这里的目的是合并所有文件,所以不需要加入名称
if file.endswith(".txt"):
# print(file)
paths.append(os.path.join(root,file).strip('\n')) # 支持中文名称
print(paths)
f = open('D:\密码\密码集合/combine_data2.txt','w',encoding="utf-8") # 创建一个新的文件
# 将之前获取保存的文件夹下的所有文件的路径和名称都写进新建的文件中
for i in paths:
# 这里获取的是文件的绝对路径,需要先将文件打开并可以以列表的形式读取 PS:文件中的很多字符编码会不兼容,这里使用了 errors='ignore' 参数进行略过
with open(i,encoding='utf-8',errors='ignore') as fq:
bb = fq.read() # 实列化为对象,否则无法进行循环
bb.replace(" ","")
bb.strip()
print("开始写入....")
for line in bb:
f.writelines(line)
print('写入完毕!!')
f.close() # 关闭文件