python - 什么时候打开要写入的文件的最佳方式是什么?
问题描述
假设我需要处理一些数据,然后将结果写入某个文件。
先打开文件,然后处理数据,然后写入文件会更好吗?
with open('file', 'w') as f:
summary = process_data()
f.write(summary)
或者在写入文件之前打开文件会更好吗?
summary = process_data()
with open('file', 'w') as f:
f.write(summary)
我的直觉告诉我,如果process_data()
需要大量内存并且file
很大,则第一种方法可能存在一些问题。
编辑:
从一些回复中澄清一下,每种方法的优缺点是什么?
解决方案
Python 没有类似 c 的作用域,只有作用域构造是def
和class
块,因此在第二个示例中块结束summary
后不会被清理。with
我只能想到一个区别:以写入模式打开文件会清除它,因此如果块process_data
内需要很长时间with
- 它会使文件处于空状态的时间更长。
如果这不是问题,这是 2+3 对 3+2。
推荐阅读
- python - 如何使用 python pymongo 在 mongodb 查询中找到 $avg
- varnish - 清漆 http_req_hdr_len 参数不适用于请求标头大小 > 8KB
- android - Jetpack Compose 与 Coroutine 的 StateFlow
- python - pyinputplus allowRegexes 关键字允许任何输入
- python - NameError:名称“更新”未定义 PONYORM
- javascript - 获取打字稿“树”对象的元素
- google-sheets - SUMIFS 的数组参数大小不同,需要说明
- can-bus - 如何在 OBD2 的帮助下从汽车获取原始 CAN 流量?
- mysql - sql developer mysql 使用本地主机而不是远程主机连接到远程数据库
- nginx - 达芙妮 vs 达芙妮+Gunicorn 设置