Pathlib module in Python

03 Oct, 2019
Pathlib module in Python provides various classes representing file system paths with semantics appropriate for different operating systems. This module comes under Python’s standard utility modules.
Path classes in Pathlib module are divided into pure paths and concrete paths. Pure paths provides only computational operations but does not provides I/O operations, while concrete paths inherit from pure paths provides computational as well as I/O operations.
Pure Paths –As stated above, Pure paths provide purely computational operations. Objects of pure path classes provide various methods for path handling operations. Pure path object operates without actually accessing the file system.Pure Path is useful when we just want to manipulate a path and without actually accessing the operating system. We can manipulate a Windows file system path on a Unix machine or vice-versa easily by instantiating one of the pure classes.
class pathlib.PurePath(*pathsegments) –This is a generic class which represents the system path’s flavour. Upon instantiating this class will create either pathlib.PurePosixPath or pathlib.PureWindowsPath
# Import PurePath class# from pathlib modulefrom pathlib import PurePath  # Instantiate the PurePath classobj = PurePath('foo/baar')  # print the instance of PurePath classprint(obj)
PurePosixPath('foo/baar')

 class pathlib.PurePosixPath(*pathsegments) –This is a subclass of PurePath class. It represents non-Windows file system paths.
# Import PurePosixPath class# from pathlib modulefrom pathlib import PurePosixPath  # Instantiate the PurePosixPath classobj = PurePosixPath('foo / baar')  # print the instance of PurePosixPath classprint(obj)
PurePosixPath('foo/baar')

 class pathlib.PureWindowsPath(*pathsegments) –This is also a subclass of patlib.PurePath class. It represents Windows file system paths.
# Import PureWindowsPath class# from pathlib modulefrom pathlib import PureWindowsPath  # Instantiate the PureWindowsPath classobj = PureWindowsPath('foo / baar')  # print the instance of PureWindowsPath classprint(obj)
PureWindowsPath('foo/baar')

 Below are few methods provided by Pure Path classes:
PurePath.is_absolute() method –This method is used to check whether the path is absolute or not. This method returns True if the path is absolute otherwise returns False.
# Python program to explain PurePath.is_absolute() method  # Import PurePath class from pathlib modulefrom pathlib import PurePath  # Pathpath = '/usr / local / bin'  # Instantiate the PurePath classobj = PurePath(path)  # Check whether the given path is # absolute or notisAbs = obj.is_absolute()  print(isAbs)
True

 PurePath.name property –
This Pure path property returns the final path component after excluding drive and root component, if any.
# Python program to explain PurePath.name property  # Import PurePath class from pathlib modulefrom pathlib import PurePath  # Pathpath = '/Desktop / file.txt'  # Instantiate the PurePath classobj = PurePath(path)  # Get the final path componentcomp = obj.name  print(comp)
file.txt

Concrete paths are sub-classes of pure path classes. As we know pure path class provides only computational operations but it does also provides various methods to perform system call on path objects.
We can instantiate a concrete path in following three ways:
class pathlib.Path(*pathsegments) –This is a subclass of pathlib.PurePath class. It represents concrete paths of the system’s path flavour. Upon instantiating, this class will create either pathlib.PosixPath or pathlib.WindowsPath.
# Import the Path classfrom pathlib import Path  # Instantiate the Path classobj = Path('/usr/local/bin)  print(obj)
PosixPath('/usr/local/bin')

 class pathlib.PosixPath(*pathsegments) –This class is a subclass of pathlib.Path and pathlib.PurePosixPath class. This class represents the concrete non-Windows file system paths.
Note: You can not instantiate pathlib.Posixpath class on Windows operating system.
# Import PosixPath class# from pathlib modulefrom pathlib import PosixPath  # Instantiate the PosixPath classobj = PosixPath('/usr/local/bin')  # Print the instance of PosixPath classprint(obj)
PosixPath('/usr/local/bin')

 class pathlib.WindowsPath(*pathsegments) –
This class is a subclass of pathlib.Path and pathlib.PureWindowsPath. This class represents the concrete Windows file system paths.
# Import WindowsPath class# from pathlib modulefrom pathlib import WindowsPath  # Instantiate the WindowsPath classobj = WindowsPath('c:/Program Files/')  # print the instance of WindowsPath classprint(obj)
WindowsPath('c:/Program Files/')

 
Below are few methods provided by Path class:Path.cwd() method: This method returns a new path object which represents the current working directory.
# Import Path classfrom pathlib import Path  # Get the current working directory namecur_dir = Path.cwd()  print(cur_dir)
/home/ihritik

 Path.exists() method: This method is used to check whether the given path points to an existing file or directory or not.
# Import Path classfrom pathlib import Path  # Pathpath = '/home/ihritik/Desktop'  # Instantiate the Path classobj = Path(path)  # Check if path points to # an existing file or directory print(obj.exists())
True

 Path.is_dir() method: This method is used to check whether the given path is a directory or not.
# Import Path classfrom pathlib import Path  # Pathpath = '/home/ihritik/Desktop'  # Instantiate the Path classobj = Path(path)  # Check if path refers to # directory or not print(obj.is_dir())
True

Reference – https://docs.python.org/3/library/pathlib.html
python-modules
python-utility
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Different ways to create Pandas Dataframe
Enumerate() in Python
Python String | replace()
How to Install PIP on Windows ?
*args and **kwargs in Python
Python Classes and Objects
Python OOPs Concepts
Convert integer to string in Python
Introduction To PYTHON