Soy nuevo en Python, así que puede que me esté yendo completamente mal, pero estoy teniendo problemas para obtener y cambiar al directorio de un archivo. Mi script toma varios nombres de archivos que pueden estar en cualquier directorio. En mi script, necesito que Python cambie al directorio del archivo y luego realice algunas acciones. Sin embargo, tengo problemas para cambiar directorios.Formateo de rutas de archivos
Esto es lo que he probado hasta ahora:
path=os.path.split(<file path>)
os.chdir(path[0])
<Do things to file specified by path[1]>
La forma en que he estado recibiendo la ruta del archivo es arrastrando desde el explorador a la línea de comandos. Esto ingresa el nombre de ruta como algo como "C:\foo\bar\file_name.txt"
. Cuando ejecuto la primera línea en el intérprete, salgo ('C:\\foo\bar','file_name.txt')
. El problema es que, por alguna razón, la última barra invertida no se escapa automáticamente, así que cuando ejecuto la línea os.chdir(path[0])
obtengo errores.
Mi pregunta es por qué la última barra invertida no se escapa automáticamente como las demás? ¿Cómo puedo escapar manualmente la última barra invertida? ¿Hay una mejor manera de obtener el directorio del archivo y cambiarlo?
Es un poco inusual (aunque no siempre mal) despedir a python para ejecutar cosas en el símbolo del sistema. ¿Qué son exactamente "realizar algunas acciones"? Tal vez solo puedan hacerse en Python directamente. – Gerrat
No creo que rhololkeolke esté saliendo del shell de Python; aún puede arrastrar archivos a la ventana de la consola para obtener la ruta mientras está dentro del caparazón, como noté recientemente. Por supuesto, incluso si tuviera que hacer algo fuera del caparazón, si es solo una acción, podría simplemente usar 'os.system()'. E incluso si se trata de acciones múltiples, si es algo que se repite a menudo, también podría escribir un archivo por lotes y llamarlo usando 'os.system()'. Por supuesto, nada de eso tiene que ver con lo que Rhololkeolke estaba preguntando. – JAB