pathlib 附加模式下的路径`write_text`
·
问题:pathlib 附加模式下的路径write_text
在附加模式下,pythonpathlib.Path对象到write_text()是否有快捷方式?
标准的open()函数具有mode="a"来打开文件以写入文件并在该文件存在时附加到该文件,并且Paths.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')
解答
并非如此,正如您在 pathlib 模块中看到的那样,存在两种类型的路径类:
-
纯路径类 {PurePath, PurePosixPath, PureWindowsPath}
-
具体路径类 {Path, PosixPath, WindowsPath}。
这些类构造函数的参数将只是*pathsegments。
如果您查看可用的读/写方法(read_text/read_bytes 和 write_text/write_bytes),您还会看到 mode 也不可用
因此,正如您已经发现的那样,您可以对这些 pathlib 类使用 mode 的唯一方法是使用open方法,即:
with my_path.open("a") as f:
f.write("...")
这是设计使然,这样 pathlib 类就变得非常“干净”。此外,上面的代码片段已经是规范的,因此无法进一步简化。您可以在上下文管理器之外使用open方法:
f = my_path.open("a")
f.write("...")
更多推荐

所有评论(0)