Python读取文件如何判断终止?开头空行致提前停止的解决方法
解决文件读取时因开头空行提前终止的问题
你的问题核心是把文件末尾的空字符串和文件内空行strip后的空字符串搞混了:
file.readline()到达文件末尾时,返回的是纯空字符串''- 文件里的空行,
readline()返回的是换行符(比如'\n'),经过strip()后才变成'',这两种情况完全不同
方法一:先判断文件末尾,再处理内容
把判断逻辑提前,先检查是否读到了文件末尾,再对内容做strip处理:
while True: # 先读取原始行 line = file.readline() # 只有当line是空字符串时,才说明到了文件末尾 if not line: break # 再处理strip s = line.strip() # 这里写你要对s执行的逻辑,比如打印或者处理数据 print(s)
方法二:更简洁的Pythonic写法(推荐新手用)
直接遍历文件对象,Python会自动帮你处理逐行读取和终止逻辑,完全不用手动写while循环:
for line in file: s = line.strip() # 处理你的业务逻辑 print(s)
这种写法不仅更简洁,还能避免手动判断时的各种坑,是Python读取文件的标准做法。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

