Al escribir una secuencia de comandos de Python que se puede ejecutar en diferentes entornos de sistema operativo (Windows/* nix), ¿cuáles son algunas buenas maneras de establecer una ruta ? En el siguiente ejemplo, me gustaría tener los archivos de registro almacenados en la carpeta de registros bajo el directorio actual. ¿Es este un enfoque aceptable (soy bastante nuevo en Python) o hay mejores formas de lograrlo? Gracias¿Cuáles son algunas buenas maneras de establecer una ruta en una secuencia de comandos de Python compatible con Multi-OS
if os.name == 'nt':
logdir=('%s\\logs\\') % (os.getcwd())
else:
logdir=('%s/logs/') % (os.getcwd())
logging.basicConfig(level=logging.INFO,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
datefmt='%m-%d-%y %H:%M:%S',
filename='%slogfile.log' % (logdir),
filemode='a')
Tenga en cuenta que los sistemas operativos MS han aceptado la barra inclinada como un separador de ruta durante mucho tiempo (son los shells de línea de comandos que se han emitido con ella). "/" también funciona en OS X. No sé sobre OpenVMS. El enfoque más portátil es lo que Ryan menciona, que funcionará en todos los sistemas operativos. – outis