如何逐行读取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
相关产品推荐
相关产品推荐

