我发现pathlib语法-还是python语法-令人惊讶。我想知道这如何使正斜杠“ /”充当Windowspath等的连接器。它会覆盖/重载“ /”吗?似乎在一个神奇的上下文中,斜线位于WindowsPath类型对象和字符串之间。如果我在2个字符串之间尝试,则无法加入2个字符串(即“ 123” /“ 123”->失败)
p=pathlib.Path(".")
p
Out[66]: WindowsPath('.')
p.cwd()
Out[67]: WindowsPath('C:/Users/user1')
p.cwd() / "mydir"
Out[68]: WindowsPath('C:/Users/user1/mydir')
答案 0 :(得分:2)
Path类具有__truediv__
方法,该方法返回另一个Path。您可以对自己的班级做同样的事情:
>>> class WeirdThing(object):
def __truediv__(self, other):
return 'Division!'
>>> WeirdThing() / WeirdThing()
'Division!'