El módulo Pathlib en Python proporciona varias clases que representan rutas del sistema de archivos con semántica apropiada para diferentes sistemas operativos. Este módulo se incluye en los módulos de utilidad estándar de Python.
Path classes
en el módulo Pathlib se dividen en caminos puros y caminos concretos . Las rutas puras solo proporcionan operaciones computacionales pero no proporcionan operaciones de E/S, mientras que las rutas concretas heredan de rutas puras proporcionan operaciones computacionales y de E/S.
Rutas puras:
como se indicó anteriormente, las rutas puras proporcionan operaciones puramente computacionales. Los objetos de clases de rutas puras proporcionan varios métodos para las operaciones de manejo de rutas. El objeto de ruta pura funciona sin acceder realmente al sistema de archivos.
Pure Path es útil cuando solo queremos manipular una ruta y sin acceder al sistema operativo. Podemos manipular una ruta del sistema de archivos de Windows en una máquina Unix o viceversa fácilmente instanciando una de las clases puras.
class pathlib.PurePath(*pathsegments) –
Esta es una clase genérica que representa el estilo de la ruta del sistema. Al instanciar esta clase, se creará pathlib.PurePosixPath o pathlib.PureWindowsPath
# Import PurePath class # from pathlib module from pathlib import PurePath # Instantiate the PurePath class obj = PurePath('foo/baar') # print the instance of PurePath class print(obj)
PurePosixPath('foo/baar')
class pathlib.PurePosixPath(*pathsegments) –
Esta es una subclase de la clase PurePath . Representa rutas de sistemas de archivos que no son de Windows.
# Import PurePosixPath class # from pathlib module from pathlib import PurePosixPath # Instantiate the PurePosixPath class obj = PurePosixPath('foo / baar') # print the instance of PurePosixPath class print(obj)
PurePosixPath('foo/baar')
class pathlib.PureWindowsPath(*pathsegments):
esta también es una subclase de la clase patlib.PurePath . Representa las rutas del sistema de archivos de Windows.
# Import PureWindowsPath class # from pathlib module from pathlib import PureWindowsPath # Instantiate the PureWindowsPath class obj = PureWindowsPath('foo / baar') # print the instance of PureWindowsPath class print(obj)
PureWindowsPath('foo/baar')
A continuación se muestran algunos métodos proporcionados por las clases de Pure Path:
Método PurePath.is_absolute():
este método se utiliza para comprobar si la ruta es absoluta o no. Este método devuelve True si la ruta es absoluta; de lo contrario, devuelve False.
# Python program to explain PurePath.is_absolute() method # Import PurePath class from pathlib module from pathlib import PurePath # Path path = '/usr / local / bin' # Instantiate the PurePath class obj = PurePath(path) # Check whether the given path is # absolute or not isAbs = obj.is_absolute() print(isAbs)
True
Propiedad PurePath.name –
Esta propiedad de ruta pura devuelve el componente de ruta final después de excluir la unidad y el componente raíz, si corresponde.
# Python program to explain PurePath.name property # Import PurePath class from pathlib module from pathlib import PurePath # Path path = '/Desktop / file.txt' # Instantiate the PurePath class obj = PurePath(path) # Get the final path component comp = obj.name print(comp)
file.txt
Caminos de hormigón:
Las rutas concretas son subclases de clases de rutas puras. Como sabemos, la clase de ruta pura proporciona solo operaciones computacionales, pero también proporciona varios métodos para realizar llamadas al sistema en objetos de ruta.
Podemos instanciar una ruta concreta de las siguientes tres maneras:
class pathlib.Path(*pathsegments) –
Esta es una subclase de pathlib.PurePath
class. Representa caminos concretos del tipo de camino del sistema. Al instanciar, esta clase creará pathlib.PosixPath
o pathlib.WindowsPath
.
# Import the Path class from pathlib import Path # Instantiate the Path class obj = Path('/usr/local/bin) print(obj)
PosixPath('/usr/local/bin')
class pathlib.PosixPath(*pathsegments):
esta clase es una subclase de la clase pathlib.Path y pathlib.PurePosixPath . Esta clase representa las rutas concretas del sistema de archivos que no son de Windows.
Nota: No puede instanciar la clase pathlib.Posixpath en el sistema operativo Windows.
# Import PosixPath class # from pathlib module from pathlib import PosixPath # Instantiate the PosixPath class obj = PosixPath('/usr/local/bin') # Print the instance of PosixPath class print(obj)
PosixPath('/usr/local/bin')
class pathlib.WindowsPath(*segmentos de ruta) –
Esta clase es una subclase de pathlib.Path y pathlib.PureWindowsPath . Esta clase representa las rutas concretas del sistema de archivos de Windows.
# Import WindowsPath class # from pathlib module from pathlib import WindowsPath # Instantiate the WindowsPath class obj = WindowsPath('c:/Program Files/') # print the instance of WindowsPath class print(obj)
WindowsPath('c:/Program Files/')
A continuación se muestran algunos métodos proporcionados por la clase PathPath.cwd() method
: Este método devuelve un nuevo objeto de ruta que representa el directorio de trabajo actual.
# Import Path class from pathlib import Path # Get the current working directory name cur_dir = Path.cwd() print(cur_dir)
/home/ihritik
Path.exists() method
: este método se utiliza para comprobar si la ruta dada apunta a un archivo o directorio existente o no.
# Import Path class from pathlib import Path # Path path = '/home/ihritik/Desktop' # Instantiate the Path class obj = Path(path) # Check if path points to # an existing file or directory print(obj.exists())
True
Path.is_dir() method
: Este método se usa para verificar si la ruta dada es un directorio o no.
# Import Path class from pathlib import Path # Path path = '/home/ihritik/Desktop' # Instantiate the Path class obj = Path(path) # Check if path refers to # directory or not print(obj.is_dir())
True
Referencia: https://docs.python.org/3/library/pathlib.html