How do I append a string to a Path in Python? How do I append a string to a Path in Python? python-3.x python-3.x

How do I append a string to a Path in Python?


  • The correct operator to extend a pathlib object is /
from pathlib import PathDesktop = Path('Desktop')# print(Desktop)WindowsPath('Desktop')# extend the path to include subdirSubDeskTop = Desktop / "subdir"# print(SubDeskTop)WindowsPath('Desktop/subdir')# passing an absolute path has different behaviorSubDeskTop = Path('Desktop') / '/subdir'# print(SubDeskTop)WindowsPath('/subdir')
  • When several absolute paths are given, the last is taken as an anchor (mimicking os.path.join()’s behavior):
>>> PurePath('/etc', '/usr', 'lib64')PurePosixPath('/usr/lib64')>>> PureWindowsPath('c:/Windows', 'd:bar')PureWindowsPath('d:bar')
  • In a Windows path, changing the local root doesn’t discard the previous drive setting:
>>> PureWindowsPath('c:/Windows', '/Program Files')PureWindowsPath('c:/Program Files')
  • Refer to the documentation for addition details pertaining to giving an absolute path, such as Path('/subdir').

Resources:


What you're looking for is:

from pathlib import PathDesktop = Path('Desktop')SubDeskTop = Path.joinpath(Desktop, "subdir")

the joinpath() function will append the second parameter to the first and add the '/' for you.