951947697 发表于 2020-10-6 09:44:38

locals()语句

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


请大神解释下locals()语句在代码在起到什么样的作用呢?

qiuyouzhi 发表于 2020-10-6 10:21:57

locals代表本次运行环境中所有的变量。
如果'f' 在 locals() 里面,则代表变量f被定义了。
因为如果在open函数那里,文件不存在的话,f是不会被定义的。

弱弱的佳佳 发表于 2020-10-6 10:23:02

locals()用来返回当前的局部变量,如果“f”在这个变量字典中,就关闭文件,不过,没有这个文件,就没有打开,也就不需要关闭呀,这个您写的有点矛盾!

happy含笑 发表于 2020-10-6 13:26:55

页: [1]
查看完整版本: locals()语句