【发布时间】:2020-12-24 17:56:08
【问题描述】:
我正在编写一个程序(从命令行参数读取文件)和一些要处理的异常。我有 2 个例外:1)如果我要读取的文件在路径中不存在,我应该给出一个例外。2)如果我要读取的文件的格式不匹配,我应该给出另一个例外。
try:
f = open(sys.argv[2], 'r')
commands = [[line.split()] for line in f.readlines()]
f.close()
except FileNotFoundError:
print('Input file not found')
sys.exit()
对于第一个例外,我做到了,但我不能做第二个,我该怎么办?
注意:第二个异常意味着如果我在命令行中写了 x.txt 并且如果 x.pptx 存在,我应该给出一个异常,例如“格式不正确”。
【问题讨论】:
-
你确定要
[line.split()]吗?split已经返回一个列表;你可能只想要[line.split() for line in f]。 (致电readlines绝对没有必要。)
标签: python python-3.x exception