从历史上看,我总是使用以下内容来读取文件python
:
with open("file", "r") as f:
for line in f:
# do thing to line
这仍然是推荐的方法吗?使用以下内容是否有任何缺点:
from pathlib import Path
path = Path("file")
for line in path.open():
# do thing to line
我发现的大多数参考文献都使用with
用于打开文件的关键字,以便不必显式关闭文件。这适用于这里的迭代器方法吗?
with open() docs https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files
尚未提及的事情:如果您想做的只是读取或写入一些文本(或字节),那么在使用 pathlib 时您不再需要显式使用上下文管理器:
>>> import pathlib
>>> path = pathlib.Path("/tmp/example.txt")
>>> path.write_text("hello world")
11
>>> path.read_text()
'hello world'
>>> path.read_bytes()
b'hello world'
打开文件以迭代行仍应使用 with 语句,原因与使用上下文管理器 with 相同open
, as 文档显示 https://docs.python.org/3/library/pathlib.html#pathlib.Path.open:
>>> with path.open() as f:
... for line in f:
... print(line)
...
hello world
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)