无法配置带引号文本输出,寻求Python文件对比格式优化方案
解决方案
以下是修改后的代码,可实现你需要的带引号、末尾逗号格式的差异输出:
def compare(File1, File2): # 读取两个文件的内容并转为集合 with open(File1, 'r') as f: d = set(f.readlines()) with open(File2, 'r') as f: e = set(f.readlines()) # 提取差异行并去除每行末尾的换行符 diff_lines = [line.rstrip('\n') for line in d - e] # 将每行格式化为带双引号的字符串 formatted_lines = [f'"{line}"' for line in diff_lines] # 用",\n"拼接所有行,自动处理最后一行无逗号的要求 result_content = ',\n'.join(formatted_lines) # 将结果写入目标文件 with open('file3.txt', 'w') as f: f.write(result_content) File1 = 'Updatedfile1.txt' File2 = 'Rawfile2.txt' compare(File1, File2)
关键修改说明:
- 清理换行符:用
rstrip('\n')移除每行末尾的换行符,避免输出时出现多余空行,同时保留行内的其他空白字符。 - 格式化行内容:通过f-string将每行内容包裹在双引号中,生成符合要求的
"xxx.com"格式。 - 高效拼接结果:使用
',\n'.join()方法拼接所有格式化后的行,该方法会自动在每行(除最后一行)末尾添加逗号和换行,完全匹配你的输出需求。 - 简化文件操作:直接以写入模式打开目标文件,自动完成文件创建或清空操作,无需额外的手动创建步骤。
内容的提问来源于stack exchange,提问作者SAHU
相关产品推荐
相关产品推荐

