You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求编写Python脚本仅输出两个文本文件的差异内容

解决方案

你需要的是提取第二个文件列表中独有的元素(并保留原顺序),而非文本行的逐行对比,直接用difflib不太适配,换个思路处理:

  1. 把文件中的列表字符串解析为Python可操作的列表对象
  2. 筛选出文件2有但文件1没有的元素
  3. 按原格式输出结果

示例代码

import ast

def load_list_from_file(file_path):
    with open(file_path, 'r', encoding='utf-8') as f:
        # 读取文件内容并解析为列表
        return ast.literal_eval(f.read().strip())

# 加载两个文件的列表
list1 = load_list_from_file('file1.txt')
list2 = load_list_from_file('file2.txt')

# 找出list2独有的元素,保留原顺序
unique_items = [item for item in list2 if item not in list1]

# 按输入的格式输出结果
print(str(unique_items))

代码说明

  • ast.literal_eval:安全地将文件中的字符串形式列表转换为Python列表,比eval更安全,避免代码注入风险
  • 列表推导式:遍历list2,只保留不在list1中的元素,自然保持原顺序
  • 最后用str()把结果转回字符串格式,和输入的列表格式一致

测试验证

假设file1.txt内容是:

['Tom','Joe','Kim']

file2.txt内容是:

['Tom','Leo','Cho','Joe','Kim']

运行脚本后会直接输出:

['Leo', 'Cho']

内容的提问来源于stack exchange,提问作者Noah Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 09:33:12