Rob*_*ger 4 python types exception built-in
我在网上搜索高低,以寻找这个问题的答案.也许它只是有点过于具体,但这里也是如此.
我正在编写关于Python的速成课程文本,并且可能在此时被认为是高级初学者或初级中级从业者.
我正在尝试使用try-catch块来显示有关丢失文件的消息,使用FileNotFoundError异常类型的异常,如下所示:
filename_1 = 'cats.txt'
filename_2 = 'dogs.txt'
try:
with open(filename_1) as file_obj:
contents = file_obj.read()
contents = contents.split('\n')
print('\n\tContents of File \'cats.txt\':\n')
for line in contents:
print('\t', line)
print('\n')
with open(filename_2) as file_obj:
contents = file_obj.read()
contents = contents.split('\n')
print('\n\tContents of File \'dogs.txt\':\n')
for line in contents:
print('\t', line)
print('\n')
except FileNotFoundError:
print('\n\tSorry, \'', FileNotFoundError.__filename__, '\' not found.\n')
Run Code Online (Sandbox Code Playgroud)
我尝试使用filename的属性名称,这显然不存在.但是我找不到适当的属性来从中提取错误的重要数据.由于指定了两个不同的文件名,因此它可能是那些不存在的文件.
Python是否在其内置异常中提供此类功能?它似乎应该.
任何帮助是极大的赞赏.谢谢.
此致
罗伯特·希格
小智 7
您可以从异常实例(而不是类)中找到文件名.
try:
# your code opening files, etc.
# ...
except FileNotFoundError as not_found:
print(not_found.filename)
Run Code Online (Sandbox Code Playgroud)