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

如何使File2.txt与File1.txt内容排列一致?Python代码问题排查

按File1的顺序重新排列File2的内容

先明确文件内容(根据你提供的图片转写):

  • File1.txt(按目标顺序排列的汽车品牌):
Honda
Toyota
Ford
  • File2.txt(包含品牌的车型数据):
Ford SUV
Toyota Sedan
Honda Hatchback
Ford Truck
Toyota Coupe
Honda SUV
  • 预期输出:
Honda Hatchback
Honda SUV
Toyota Sedan
Toyota Coupe
Ford SUV
Ford Truck

你的代码失效的原因

  1. 换行符匹配问题:readlines()会保留每行末尾的换行符\n,比如File1中的"Honda"被读成"Honda\n",而File2中的行是"Honda Hatchback"(不含换行符),导致file1_lines[i] in line2的判断永远为假,无法触发打印。
  2. 逻辑顺序错误:你的代码先遍历File2的所有行,再检查是否匹配File1的品牌,输出顺序会和File2原始顺序一致,无法实现按File1的品牌分组排序。

修正后的代码

# 读取文件并处理换行符,strip()去除每行的空白字符(包括换行、空格)
with open("file1.txt", 'r') as file1:
    brands = [line.strip() for line in file1.readlines()]

with open("file2.txt", 'r') as file2:
    models = [line.strip() for line in file2.readlines()]

# 按File1的品牌顺序,依次输出对应车型
for brand in brands:
    for model in models:
        if brand in model:
            print(model)

代码说明

  1. 使用with语句操作文件:这是Python推荐的文件处理方式,会自动关闭文件,避免资源泄漏。
  2. strip()处理每行:消除换行符和多余空格,确保品牌字符串能正确匹配车型行中的内容。
  3. 双层循环逻辑:外层遍历File1的品牌顺序,内层查找File2中对应品牌的车型,实现按品牌分组排序的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:07:13