python - 是否有区别:“file.readlines()”、“list(file)”和“file.read().splitlines(True)”?
问题描述
和有什么区别:
with open("file.txt", "r") as f:
data = list(f)
或者 :
with open("file.txt", "r") as f:
data = f.read().splitlines(True)
或者 :
with open("file.txt", "r") as f:
data = f.readlines()
它们似乎产生完全相同的输出。一个比另一个更好(或更pythonic)吗?
解决方案
显式优于隐式,所以我更喜欢:
with open("file.txt", "r") as f:
data = f.readlines()
但是,如果可能,最 Pythonic 是直接使用文件迭代器,而不将所有内容加载到内存中,例如:
with open("file.txt", "r") as f:
for line in f:
my_function(line)
推荐阅读
- android - 对 MainActivity 的弱引用以在静态处理程序中使用
- php - 搜索用户 Laravel
- c# - ASP.NET Web API - 我怎样才能拥有一个匹配任何路由的控制器?
- python - 如何将一个熊猫数据框乘以另一个
- laravel - 如何在 PHP 中将 JSON 数据制作为数组?
- scala - Spark Scala Window 扩展结果直到结束
- php - 在不同的 WordPress 帖子中显示不同的图像
- python - “ImportError:无法导入 Django。” 即使在 Virtualenv 中安装了 Django
- java - 从一个函数返回 2 个计数值
- oracle - 如何使用 substr 函数验证过滤器并从 Oracle PLSQL 中的存储过程中获取结果?