从一个文本文件中读取出一个数字。 f = open("test.txt") line=f.read() num=int(line) print("从文件test.txt中读取出的内容为:",num) 上面代码在处理文件读取的时候,可能会遇到多个异常。 Step1:假如我们当前目录下没有test.txt文件,执行代码时会报以下异常: 7.png Step2:如果在当前目录下里面新建一个test.txt文件,文件内容为:10000。再运行的代码,就没有问题了,所以这里我们需要处理FileNotFoundError异常。 try: with open('test.txt', 'r') as f: line=f.read() num=int(line) print("从文件test.txt中读取出的内容为:",num) except IOError as e: print("文件读取时发生异常:",e) finally: print("读取文件成功。") f.close() Step3:我们把test.txt里面的10000改成字符串'aa',会出现什么情况。 8.png 再运行step2的代码,就会报错这是一个ValueError,但是我们的代码只捕捉了IOError,没有捕捉ValueError,所以没有处理我们except部分,我们继续改代码。
时间: 2024-03-30 09:35:07 浏览: 49
python: line=f.readlines()消除line中\n的方法
可以在try-except语句中加入ValueError的捕捉,如下所示:
try:
with open('test.txt', 'r') as f:
line=f.read()
num=int(line)
print("从文件test.txt中读取出的内容为:",num)
except IOError as e:
print("文件读取时发生异常:",e)
except ValueError as e:
print("文件内容无法转换为数字:",e)
finally:
print("读取文件成功。")
f.close()
这样就可以处理文件内容无法转换为数字的情况了。
阅读全文