python - 为什么 print(f.close()) 在下面的代码中返回 None ?
问题描述
在下面的代码中,我假设文件已经关闭,但是为什么print(f.close())
返回None
而不是错误呢?
f = None
for i in range(5):
with open("mytextfile.txt", 'w') as f:
if i>2:
break
print(f.close())
如果有人可以帮助或解释它是如何工作的,那就太好了。谢谢你。
解决方案
对于打印部分,因为close()
不返回任何值。
而对于错误部分,我认为你只是试图关闭已经关闭的文件,虽然它会导致错误对关闭的文件执行任何操作,但存在异常to close it again
,因为它检查f.closed
并且因为它已经关闭(找到它是True
,它不会引发错误,你可以忽略它,但我认为这样做不是很好。
推荐阅读
- json - 用jq替换基于键值对的JSON值
- python - 使用python从csv数据生成一个新的xml
- python - 在 Python Pandas 数据集中每行保持随机最小值
- ionic-framework - Ionic 4 选项卡:在推送新页面之前删除当前页面
- python - 在发送带有相关 pdf 附件的多封电子邮件时显示空白 pdf 附件
- github - Google Cloud Build GitHub App - 组织中所有项目的自动触发器
- reactjs - 无法使用 gh-pages 在 GitHub 上部署应用程序
- node.js - 从另一台服务器 NodeJS 提供静态文件
- html - 如何关联两个元素以实现可访问性?
- angular - InnerHTML 指令忽略 Angular 中的 html 标签