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

如何逐行读取TXT文件?程序无输出问题排查

问题描述

我的TXT文件内容如下:

name, city, a, 5
name1, city1, b, 18
name2, city2, a, 4

我编写了如下Python代码:

def main():
    try:
        with open("actions.txt", "r") as infile:
            lines = infile.readlines()
        a = 20
        aa = 0
        newset = set()
        for line in lines:
            line_1 = line.strip().split(", ")
            if a != 0:
                if line_1[2] == "a" and int(line_1[3]) <= a and aa <= 2:
                    aa += 1
                    a = a - int(line_1[3])
                    newset.add(f"a's: {line_1[0]} \t {line_1[3]}\n")
        print(newset)
    except FileNotFoundError:
        exit(f"File not Found")

程序需要读取TXT文件并仅对含"a"的行执行操作,我认为代码无误,但PyCharm无任何输出,该如何解决?

解决方法
  • 核心问题:未执行定义的函数
    你只定义了main()函数,但没有添加调用语句,Python解释器不会自动执行函数内的逻辑。在代码末尾加上标准执行入口:

    if __name__ == "__main__":
        main()
    

    加上后PyCharm才会运行main里的代码。

  • 验证文件读取有效性
    在lines = infile.readlines()后添加print(lines),确认是否成功读取到文件内容:

    • 如果输出为空列表,说明文件路径错误:要么把actions.txt放到Python脚本同目录,要么改用绝对路径(比如Windows的C:/xxx/actions.txt,Linux/Mac的/home/xxx/actions.txt)。
  • 调试逻辑触发情况
    可以在循环内打印line_1、a、aa的值,确认条件判断是否正常触发。比如当前aa <= 2的条件限制宽松,但如果文件读取失败,这部分逻辑根本不会执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 16:55:42