我想输入这样一个代码,以便它显示用户指示的行的内容(以从键盘上读取的数字的形式(。当超出列表范围(行数(时处理异常。这是代码:
import linecache
try:
number = int(input("Line: "))
lines = linecache.getline("text.txt", number)
print(lines)
except:
print("no such line was found")
程序正确地读取该行的内容,但当我想处理异常时,选择text.txt范围之外的一行,例如不存在的第250行,它不显示异常";没有发现这样的线";,我该如何改进?
提前感谢!!!
linecache.getline("test.txt", number)
如果行号不存在,则不会生成exception,只需返回''
即可。
所以你可以这样做:
import linecache
number = int(input("Line: "))
lines = linecache.getline("text.txt", number)
print(lines)
if lines == '':
print("no such line was found")