os.makedirs no entiende "~" en mi camino
Tengo un pequeño problema ~
en mis caminos.
Este ejemplo de código crea algunos directorios llamados ~/some_dir
y no entiendo que quería crear some_dir
en mi directorio de inicio.
my_dir = "~/some_dir"
if not os.path.exists(my_dir):
os.makedirs(my_dir)
Tenga en cuenta que esto está en un sistema basado en Linux.
Aceptado
Necesitas expandir la tilde manualmente:
my_dir = os.path.expanduser('~/some_dir')
La conversión de ~/some_dir
a $HOME/some_dir
se llama expansión de tilde y es una característica común de la interfaz de usuario. El sistema de archivos no sabe nada al respecto.
En Python, esta característica se implementa mediante os.path.expanduser :
my_dir = os.path.expanduser("~/some_dir")
Probablemente se deba a que Python no es Bash y no sigue las mismas convenciones. Puedes usar esto:
homedir = os.path.expanduser('~')