将多个文件夹内的txt合并
import os import re def text_create(name): """ 创建txt文件夹 """ desktop_path = '/home/xinghe/PycharmProjects/TestProject/naochuxie/' full_path = desktop_path + name + '.txt' file = open(full_path,'w') file.close() print('Done') def VisitDir(path): """ 按照顺序返回文件夹下所有的txt路径 """ li = os.listdir(path) num_text = [] for i in li: num_text.append(re.findall('\d+',i)) number = [] for index,v in enumerate(num_text): number = v+number num = sorted(list(map(int,number))) path_list = [] for i in num: i = str(i)+'.txt' path_list.append(i) print(path_list) path_num = [] for p in path_list: pathname = os.path.join(path,p) if not os.path.isfile(pathname): VisitDir(pathname) else: path_num.append(pathname) return path_num rootdir = '/home/xinghe/abc/naochuxie' #打开多个文件夹最外层的文件夹 list_str = os.listdir(rootdir) file_str = [] for i in range(0,len(list_str)): path = os.path.join(rootdir,list_str[i]) file_str.append(path) print(file_str) for index,value in enumerate(file_str): if __name__ == '__main__': path = value print(VisitDir(path)) text_create(str(index)) # 调用函数 # allfile = open('/home/xinghe/all.txt','a+') file_path = str(os.getcwd()) #得到当前工作目录,即当前Python脚本工作的目录路径 a+为在文本后追加 print(file_path) allfile = open(file_path+'/datas/%s.txt'% index, 'a+') #打开创建的txt文件 for name in VisitDir(path): fi = open(name,encoding='gbk') while True: s = fi.read(16*1024) if not s: break allfile.write(s) fi.close() allfile.close()
分类:
Django
, Linux 服务器那些事
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了