金耳钩 发表于 2021-6-5 10:17:38

python33讲最后一题

try:
    f = open('My_File.txt') # 当前文件夹中并不存在"My_File.txt"这个文件T_T
    print(f.read())
except OSError as reason:
    print('出错啦:' + str(reason))
finally:
    if 'f' in locals(): # 如果文件对象变量存在当前局部变量符号表的话,说明打开成功
      f.close()



if 'f' in locals(): # 如果文件对象变量存在当前局部变量符号表的话,说明打开成功
不太明白这句话是什么意思,谢谢大佬指点

逃兵 发表于 2021-6-5 10:27:21

f = open('My_File.txt')

文件的变量名叫f

locals() 函数会以字典类型返回当前位置的全部局部变量。

如果文件存在就会生成一个{'f':地址}的字典


整段代码的含义是:
尝试:打开文件
如果文件不存在:print('出错啦:' + str(reason))
最后执行:如果该文件存在,则关闭该文件
页: [1]
查看完整版本: python33讲最后一题