是否有 python pathlib.Path
objects to write_text()
在附加模式下的快捷方式?
The standard open()
function has mode="a"
to open a file for writing and appending to the file if that file exists, and a Path
s .open()
功能似乎具有相同的功能( my_path.open("a")
)。
但是方便的 .write_text('..')
快捷方式呢,有没有办法使用 pathlib
打开并附加到文件,只需做与 open()
相同的事情?
为了清楚起见,我可以做
with my_path.open('a') as fp:
fp.write('my text')
但是还有另一种方法吗?
my_path.write_text('my text', mode='a')
原文由 danodonovan 发布,翻译遵循 CC BY-SA 4.0 许可协议
并非如此,正如您在 pathlib 模块中看到的那样,存在两种类型的路径类:
这些类构造函数的参数仅为
*pathsegments
。如果您查看可用的读/写方法(read_text/read_bytes 和 write_text/write_bytes),您还会看到模式也不可用
因此,正如您已经发现的那样,可以将模式与这些 pathlib 类一起使用的唯一方法是使用
open
方法,即:这是设计使然,这样 pathlib 类就变得真正“干净”了。此外,上面的代码片段已经是规范的,因此无法进一步简化。您可以在上下文管理器之外使用
open
方法: