["python","python-3.x","pathlib"]
How do I append a string to a Path?

The following code: from pathlib import Path Desktop = Path('Desktop') SubDeskTop = Desktop + "/subdir" gets the following error: --------------------------------------------------------------------------- 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' I'm clearly doing something shady here, but it raises the question: How do I access a subdirectory of a Path object?
The correct operator to extend a pathlib object is / from pathlib import Path Desktop = Path('Desktop') print(Desktop) # WindowsPath('Desktop') # extend the path to include subdir SubDeskTop = Desktop / "subdir" print(SubDeskTop) # WindowsPath('Desktop/subdir') # passing an absolute path has different behavior SubDeskTop = 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: pathlib Basic use Python 3's pathlib Module: Taming the File System