python - 读取 >2000 行文本文件,但它在第 46 行停止,即为空。为什么?
问题描述
仅当我包含我在下面注释掉的打印行时才会出现此问题。
fname = input("Enter file name: ")
if len(fname) < 1:
fname = "mbox-short.txt"
fh = open(fname)
i = 0
count = 0
with open(fname, 'r') as fh:
for line in fh:
temp = line.split()
#print(temp[0])
count+=1
print(count)
解决方案
当您尝试拆分空字符串时,它会返回一个空列表:
>>> ''.split()
[]
因此,尝试访问temp[0]
会引发IndexError
异常并且您的处理会停止。你可以像这样修复它:
if not line: # line is blank
continue
推荐阅读
- c# - 在从 C# 中的数据表填充的组合框中设置 SelectedValue?
- swift - 在gmsmapview上点击任何位置时如何打开谷歌地图
- java - 如何在junit Springboot中测试私有方法
- javascript - 使用javascript提交表单后显示消息
- javascript - 打开文件时的Vscode扩展文件侦听器
- azure - 编辑存储在 Azure Application Insights 中的跟踪表数据
- javascript - 对以下两个结果感到困惑
- spring-webflux - 如何像 subscribe() 一样在 spring webflux kotlin coroutine 中运行一些异步代码而不阻塞当前 coroutinescope?
- splunk - 在 Splunk 中计算两个不同日志之间持续时间的查询
- python-3.x - 转换为“Int64”可为空的整数类型似乎不再起作用