需求:遍历“D:/python/text/txt数据转移到另一个目录下的txt文件”目录下后缀为.txt的文件,读取文件内容,并将内容添加到“D:/python/text/txt数据转移到另一个目录下的txt文件/转移后/keyrand.txt”,并排除重复的内容,把第一版的脚本用类封装起来。
import os class TextFileMover: def __init__(self, source_dir, target_file): self.source_dir = source_dir self.target_file = target_file def move_text_files(self): # 创建一个空集合来存储文件内容,以排重 content_set = set() # 遍历目标目录下的所有.txt文件 for root, dirs, files in os.walk(self.source_dir): for file in files: if file.endswith(".txt"): file_path = os.path.join(root, file) with open(file_path, "r", encoding="utf-8") as source_file: content = source_file.read() content_set.update(content.splitlines()) # 打开目标文件,将内容写入并排重 with open(self.target_file, "a", encoding="utf-8") as target_file: for line in content_set: line = line.strip() # 去掉首尾空白字符 if line: # 只写入非空行 target_file.write(line + "\n") print("文件内容已成功添加到目标文件并排重,同时去除空行.") if __name__ == "__main__": source_dir = "D:/python/text/txt数据转移到另一个目录下的txt文件" target_file = "D:/python/text/txt数据转移到另一个目录下的txt文件/转移后/keyrand.txt" text_mover = TextFileMover(source_dir, target_file) text_mover.move_text_files()