En el entorno Linux, quiero crear un archivo y escribir texto en él:
HTMLFILE: "$MYUSER/OUTPUT/myfolder/mytext.html" f = open(HTMLFILE, 'w') IOError: [Errno 2] No such file or directory: "$MYUSER/OUTPUT/myfolder/mytext.html"
Tengo permiso de lectura / escritura en los directorios “$ MYUSER / OUTPUT / myfolder /”.
¿Por qué me sale este error? ¿Por qué no crea el archivo mytext.html?
os.path.expandvars()
puede ayudar:
f = open(os.path.expandvars(HTMLFILE), 'w')
open
solo trata con nombres de archivos reales. expandvars
puede expandir variables de entorno en cadenas.
Hay dos maneras. Usando os.environ () para obtener un valor variable
HTML_PATH = "/OUTPUT/myfolder/mytext.html" f = open(os.environ('MYUSER') + HTMLFILE, 'w')
y usando os.path.expandvars ():
HTMLFILE = "$MYUSER/OUTPUT/myfolder/mytext.html" f = open(os.path.expandvars(HTMLFILE), 'w')
$MYUSER
refiere a una variable de shell. Python no resuelve esos. Utilice el paquete os
para obtener el directorio de inicio de los usuarios a través de os.getenv('MYUSER')