Python Obtener directorio de inicio

Ammar Ali 21 junio 2023
  1. Obtenga el directorio de inicio usando el módulo os.path.expanduser en Python
  2. Obtenga el directorio de inicio usando la biblioteca pathlib en Python
Python Obtener directorio de inicio

Este tutorial discutirá cómo obtener la ruta del directorio de inicio usando la biblioteca os.path.expanduser o pathlib en Python.

Obtenga el directorio de inicio usando el módulo os.path.expanduser en Python

Para obtener el directorio de inicio de un usuario, podemos usar os.path.expanduser en Python. Tenemos que pasar un carácter de cadena ~ dentro de la función os.path.expanduser(), que devolverá la ruta del directorio de inicio del usuario actual conectado.

Utiliza la base de datos de contraseñas incorporada o el módulo pwd para buscar la ruta del directorio de inicio, y el módulo pwd proporciona los detalles de la cuenta de un usuario, como un nombre de inicio de sesión y una contraseña. Este módulo funciona en todas las plataformas, como Windows y Linux.

Por ejemplo, obtengamos el directorio de inicio usando el módulo os.path.expanduser. Vea el código a continuación.

from os.path import expanduser

home_directory = expanduser("~")
print(home_directory)

Producción :

C:\Users\ammar

El código anterior se prueba en Windows y el resultado puede cambiar según el usuario y la plataforma. Si queremos encontrar la ruta del directorio de inicio de otro usuario que no está conectado actualmente, podemos agregar el nombre del usuario después del carácter ~ en el código anterior.

También podemos unir dos rutas usando la función os.path.join(), como unir la ruta del directorio de inicio con otra ruta. Podemos pasar las rutas que queremos unir dentro de la función os.path.join().

Por ejemplo, unamos la ruta anterior con otra ruta usando la función os.path.join(). Vea el código a continuación.

from os.path import expanduser, join

home_directory = expanduser("~")
new_directory = join(home_directory, "newPathName")
print(home_directory)
print(new_directory)

Producción :

C:\Users\ammar
C:\Users\ammar\newPathName

En el código anterior, unimos la ruta del directorio de inicio con otra ruta. También podemos unir varios caminos, como 2 o más.

No podemos agregar un carácter especial como una barra invertida \ dentro de la función join() porque la barra invertida combinada con algunos caracteres no generará el resultado adecuado. Por ejemplo, si cambiamos la ruta anterior a newPathName\tpath2, el resultado contendrá un espacio de tabulación porque \t se usa como espacio de tabulación en una cadena.

Recomendamos agregar cada ruta individualmente dentro de la función join(). Por ejemplo, si queremos unir otra ruta con la ruta anterior, tenemos que pasarla como tercer argumento, y la función join() lo pondrá al final de la nueva ruta y se agregará la barra invertida. automáticamente.

Vea el código de ejemplo a continuación.

join(path1, path2, path3, ....)

Asegúrese de importar las funciones join() y expanduser() antes de usarlas dentro del código. Consulte la biblioteca os.path.expanduser para obtener más detalles.

Obtenga el directorio de inicio usando la biblioteca pathlib en Python

También podemos usar la biblioteca pathlib para obtener la ruta del directorio de inicio usando su función home(). Por ejemplo, busquemos el directorio de inicio usando la biblioteca pathlib.

Vea el código a continuación.

from pathlib import Path

home_directory = str(Path.home())
print(home_directory)

Producción :

C:\Users\ammar

En el código anterior, usamos la función str para convertir la salida de la función home() en una cadena. Esto funcionará en todas las plataformas, por ejemplo, Windows y Linux; sin embargo, la salida puede cambiar según el usuario y la plataforma.

También podemos unir dos o más rutas utilizando la función PureWindowsPath().joinPath() de la biblioteca pathlib. La ruta de inicio se pasará dentro de la función PureWindowsPath() y la nueva ruta o rutas se agregarán en la función joinPath() para obtener una ruta combinada.

Por ejemplo, combinemos la ruta anterior con dos rutas usando la función PureWindowsPath().joinPath(). Vea el código a continuación.

from pathlib import Path, PureWindowsPath

home_directory = Path.home()
new_directory = PureWindowsPath(home_directory).joinpath("newPathName", "path2")
print(home_directory)
print(new_directory)

Producción :

C:\Users\ammar
C:\Users\ammar\newPathName\path2

En el código anterior, agregamos dos rutas, pero podemos agregar tantas rutas como queramos, pero debemos evitar la barra invertida dentro de la misma cadena. Esto se debe a que la barra invertida combinada con algunos caracteres especiales creará problemas como \n agregará una nueva línea y \t agregará un espacio de tabulación en la salida.

Recomendamos agregar cada ruta individualmente dentro de la función joinPath().

Asegúrese de importar la función Path() y PureWindowsPath() antes de usarlas dentro del código. Consulte la biblioteca pathlib para obtener más detalles.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Artículo relacionado - Python Directory