次のコード:
from pathlib import Path
Desktop = Path('Desktop')
SubDeskTop = Desktop + "/subdir"
次のエラーが発生します。
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-4-eb31bbeb869b> in <module>()
1 from pathlib import Path
2 Desktop = Path('Desktop')
----> 3 SubDeskTop = Desktop+"/subdir"
TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
ここでは明らかに怪しげなことをしていますが、それは疑問を投げかけます:Path
オブジェクトのサブディレクトリにアクセスするにはどうすればよいですか?
答えは恥ずかしいほど簡単だったことがわかりました。正しい演算子は「/」です
from pathlib import Path
Desktop = Path('Desktop')
SubDeskTop = Desktop/"subdir"
あなたが探しているのは:
_from pathlib import Path
Desktop = Path('Desktop')
SubDeskTop = Path.joinpath(Desktop, "subdir")
_
joinpath()
関数は、2番目のパラメーターを最初のパラメーターに追加し、「/」を追加します。
または
from pathlib import Path
p1 = Path('somewhere')
p2 = p1.joinpath(p1, "over/there")
# or if you want to just create it in one line
p1.joinpath(p1, "new/place").mkdir()