Le code suivant:
from pathlib import Path
Desktop = Path('Desktop')
SubDeskTop = Desktop + "/subdir"
obtient l'erreur suivante:
---------------------------------------------------------------------------
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'
Je fais clairement quelque chose de louche ici, mais cela soulève la question: comment accéder à un sous-répertoire d'un objet Path
?
Il s'avère que la réponse était d'une simplicité embarrassante. L'opérateur correct est '/'
from pathlib import Path
Desktop = Path('Desktop')
SubDeskTop = Desktop/"subdir"
Ce que vous recherchez, c'est:
from pathlib import Path
Desktop = Path('Desktop')
SubDeskTop = Path.joinpath(Desktop, "subdir")
la fonction joinpath()
ajoutera le deuxième paramètre au premier et ajoutera le '/' pour vous.
Ou
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()