El módulo OS en Python proporciona funciones para interactuar con el sistema operativo. OS viene bajo los módulos de utilidad estándar de Python. Este módulo proporciona una forma portátil de usar la funcionalidad dependiente del sistema operativo. El módulo os.path es un submódulo del módulo OS en Python que se usa para la manipulación de nombres de rutas comunes.
El método os.path.expanduser() en Python se usa para expandir un componente de ruta inicial ~ (símbolo de tilde) o ~usuario en la ruta dada al directorio de inicio del usuario .
En las plataformas Unix, un ~ inicial se reemplaza por el valor de la variable de entorno HOME , si está establecida. De lo contrario, el método os.path.expanduser() buscadirectorio de inicio del usuario en el directorio de contraseñas usando un módulo incorporado pwd . La ruta que contiene un componente de usuario inicial se busca directamente en el directorio de contraseñas.
En la plataforma Windows, un ~ inicial se reemplaza por el valor de la variable de entorno HOME y USERPROFILE , si está configurada. De lo contrario, se utilizarán las variables de entorno HOMEPATH y HOMEDRIVE . Mientras que la ruta que contiene un componente de ~usuario inicial se maneja reemplazando el último componente de directorio con ~usuario de la ruta derivada anteriormente.
Sintaxis: os.path.expanduser(ruta)
Parámetro:
ruta : Un objeto similar a una ruta que representa una ruta del sistema de archivos. Un objeto similar a una ruta es una string o un objeto de bytes que representa una ruta.
Tipo de devolución: este método devuelve un valor de string que representa la ruta después de expandir un componente de ruta inicial ~ o ~ usuario en la ruta dada.
Código #1: uso del método os.path.expanduser() (en Unix)
Python3
# Python program to explain os.path.expanduser() method # importing os.path module import os.path # Path path = "~/file.txt" # Expand an initial ~ component # in the given path # using os.path.expanduser() method full_path = os.path.expanduser(path) # print the path after # expanding the initial ~ component # in the given path print(full_path) # Change the value of # HOME environment variable os.environ["HOME"] = "/home / GeeksForGeeks" # Now, Expand the initial ~ component # in the same path # using os.path.expanduser() method full_path = os.path.expanduser(path) # print the path after # expanding initial ~ component # in the given path print(full_path) # While expansion, An initial # ~user component is looked # up directly in the password directory. # Path having an initial # ~user component path = "~ihritik / file.txt" # Expand the initial ~user # component in the given path # using os.path.expanduser() method full_path = os.path.expanduser(path) # print the path after # expanding the initial ~user # component in the given path print(full_path)
/home/ihritik/file.txt /home/GeeksForGeeks/file.txt /home/ihritik/file.txt
Código #2: uso del método os.path.expanduser() (en Windows)
Python3
# Python program to explain os.path.expandvars() method # importing os.path module import os.path # On Windows % name % expansions # are supported in addition to # $name and ${name} # Path 1 path1 = R"% HOMEPATH %\Directory\file.txt" # Path 2 path2 = R"C:\Users\$USERNAME\Directory\file.txt" # Path 3 path3 = R"${TEMP}\file.txt" # Expand the environment variables # with their corresponding # value in the given paths exp_var1 = os.path.expandvars(path1) exp_var2 = os.path.expandvars(path2) exp_var3 = os.path.expandvars(path3) # Print the given paths with # environment variables expanded print(exp_var1) print(exp_var2) print(exp_var3) # In the above example # os.path.expandvars() method # replaced the environment variables # 'HOMEPATH', 'USERNAME' and 'TEMP' # with their corresponding values
\\Users\\Hritik\\\Directory\\file.txt C:\\Users\\Hritik\\\Directory\\file.txt C:\\Users\\Hritik\\AppData\\Local\\Temp\\file.txt
Código #3: 3: Si la variable de entorno no existe
Python3
# Python program to explain os.path.expandvars() method # importing os.path module import os.path # If environment variable # is malformed or does not exists # then the given path will be # left unchanged # Path path = R"${MYHOME}/Directory / file.txt" # Expand the environment variables # with their corresponding # value in the given paths exp_var = os.path.expandvars(path) # Print the given patha with # environment variables expanded print(exp_var) # As 'MYHOME' environment variable # does not exists so # os.path.expandvars() method # will return the given path # unchanged
${MYHOME}/Directory/file.txt
Referencia: https://docs.python.org/3/library/os.path.html