Python の pathlib 演算子 '/' - どのように動作するのでしょうか? 質問する

Python の pathlib 演算子 '/' - どのように動作するのでしょうか? 質問する

pathlib 構文 (または Python 構文) は意外でした。これがどのようにしてスラッシュをs など/の結合子として機能させるのか知りたいです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')

ベストアンサー1

Pathクラスには__truediv__別の Path を返すメソッド。独自のクラスでも同じことができます。

>>> class WeirdThing(object):
        def __truediv__(self, other):
            return 'Division!'

>>> WeirdThing() / WeirdThing()
'Division!'

おすすめ記事