显示一行文本-异常处理



我想输入这样一个代码,以便它显示用户指示的行的内容(以从键盘上读取的数字的形式(。当超出列表范围(行数(时处理异常。这是代码:

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")

最新更新