我在Python(3.x)脚本中基于pathlib
模块定义了一个自定义函数:
def mk_dir(self):
self.mkdir(parents=True,exist_ok=True)
my_path = Path('./1/2/3/')
mk_dir(my_path)
是使用pathlib.Path.mkdir()
函数创建新目录的快捷方式。
此函数将创建给定路径(parents=True
)的所有丢失的父项,并且如果目录已经存在(exist_ok=True
)也不会引发错误。
但是,我想修改我的函数,使其以链接函数的形式运行,即my_path.mk_dir()
;而不是通过传递变量mk_dir(my_path)
来代替传统方法。
我通过以下方式尝试了
from pathlib import Path
class Path():
def mk_dir(self):
self.mkdir(parents=True,exist_ok=True)
return self
my_path = Path('./1/2/3/')
my_path.mk_dir()
但是我得到的最好的是这个错误:
AttributeError: 'WindowsPath' object has no attribute 'mk_dir'
如何在不更改模块源文件本身的情况下实现这一目标?
我不确定这些问题:
class
?if not my_path.is_dir(): ...
是否存在,或者使用exist_ok=True
属性是否可以?