使用exec执行.txt文件后如何关闭文件?代码报错求解
问题分析与解决
你的代码报错的核心原因是exec()函数的返回值为None,将它赋值给f后,f就成了NoneType对象,自然不存在close()方法,这才触发了AttributeError。
正确手动关闭文件的写法
你需要先单独获取文件对象,读取内容执行exec后再手动关闭:
f = open("./settings.txt") exec(f.read()) f.close()
更推荐的自动关闭写法:使用with上下文管理器
Python中处理文件最安全高效的方式是用with语句,它会在代码块执行完毕后自动关闭文件,哪怕过程中出现异常也能保证文件被正确回收,特别适合循环场景:
with open("./settings.txt") as f: exec(f.read())
这种写法无需手动调用close(),代码更简洁健壮。
内容的提问来源于stack exchange,提问作者jobberman
相关产品推荐
相关产品推荐

