¿Cuál es la mejor manera de representar un directorio de Windows, por ejemplo "C:\meshes\as"
? He estado tratando de modificar un script pero nunca funciona porque parece que no puedo entender bien el directorio, ¿supongo que por '\'
actuar como un personaje de escape?
python
path
string-literals
Gareth
fuente
fuente
Usa el
os.path
módulo.O use cadenas crudas
También recomendaría que no haya espacios en la ruta o los nombres de archivo. Y podría usar barras invertidas dobles en sus cadenas.
fuente
"C:\"
como la primera entrada? ¿Eso estropea un poco la limpieza del usojoin
?"C:\"
en el medio del nombre del archivo. Además, puede usaros.path.normpath
antes o después de una unión, para asegurarse de que la ruta se imprima bien.os.path.join( "C:\\", "meshes", "as" )
Sí,
\
en los literales de cadena de Python denota el inicio de una secuencia de escape. En su camino tiene una secuencia de escape válida de dos caracteres\a
, que se contrae en un personaje que es ASCII Bell :Otras secuencias de escape comunes incluyen
\t
(tabulación),\n
(avance de línea),\r
(retorno de carro):Como puede ver, en todos estos ejemplos, la barra diagonal inversa y el siguiente carácter en el literal se agruparon para formar un solo carácter en la cadena final. La lista completa de las secuencias de escape de Python está aquí .
Hay una variedad de formas de lidiar con eso:
Python no procesará secuencias de escape en literales de cadena con el prefijo
r
oR
:Python en Windows también debería manejar barras diagonales.
Podrías usar
os.path.join
...... o el módulo más nuevo
pathlib
fuente
Use PowerShell
En Windows, puede usar
/
en su ruta al igual que Linux o macOS en todos los lugares , siempre que use PowerShell como su interfaz de línea de comandos. Viene preinstalado en Windows y admite muchos comandos de Linux comols
comando.Si usa el símbolo del sistema de Windows (el que aparece cuando escribe
cmd
en el menú Inicio de Windows), debe especificar rutas con\
solo dentro. Puede usar/
rutas en todos los demás lugares (editor de código, modo interactivo de Python, etc.).fuente
En caso de que desee pegar la ruta de Windows desde otra fuente (por ejemplo, Explorador de archivos), puede hacerlo mediante una
input()
llamada en la consola de Python:Luego solo copia el resultado
fuente