Módulo Pathlib en Python

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 classesen 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.

Pathlib-module-classes-relation-diagram

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)
Producción:

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)
Producción:

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)
Producción:

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)
Producción:

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)
Producción:

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.PurePathclass. Representa caminos concretos del tipo de camino del sistema. Al instanciar, esta clase creará pathlib.PosixPatho pathlib.WindowsPath.

# Import the Path class
from pathlib import Path
  
# Instantiate the Path class
obj = Path('/usr/local/bin)
  
print(obj)
Producción:

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)
Producción:

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)
Producción:

WindowsPath('c:/Program Files/')

A continuación se muestran algunos métodos proporcionados por la clase Path
Path.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)
Producción:

/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())
Producción:

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())
Producción:

True

Referencia: https://docs.python.org/3/library/pathlib.html

Publicación traducida automáticamente

Artículo escrito por ihritik y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *