in

Ruta de Windows en Python

apple touch icon@2

Sí, en Python, los literales de cadena 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 uno personaje que es Campana ASCII:

>>> 'a'
'x07'
>>> len('a')
1
>>> 'C:meshesas'
'C:\meshesx07s'
>>> print('C:meshesas')
C:meshess

Otras secuencias de escape comunes incluyen t (pestaña), n (linea de alimentación), r (retorno de carro):

>>> list('C:test')
['C', ':', 't', 'e', 's', 't']
>>> list('C:nest')
['C', ':', 'n', 'e', 's', 't']
>>> list('C:rest')
['C', ':', 'r', 'e', 's', 't']

Como puede ver, en todos estos ejemplos, la barra invertida y el siguiente carácter del literal se agruparon para formar un solo carácter en la cadena final. La lista completa de secuencias de escape de Python es aquí.

Hay una variedad de formas de lidiar con eso:

  1. Python no procesará secuencias de escape en cadenas literales con el prefijo r o R:

    >>> r'C:meshesas'
    'C:\meshes\as'
    >>> print(r'C:meshesas')
    C:meshesas
    
  2. Python en Windows también debería manejar barras diagonales.

  3. Podrías usar os.path.join

    >>> import os
    >>> os.path.join('C:', os.sep, 'meshes', 'as')
    'C:\meshes\as'
    
  4. … o el más nuevo pathlib módulo

    >>> from pathlib import Path
    >>> Path('C:', "http://stackoverflow.com/", 'meshes', 'as')
    WindowsPath('C:/meshes/as')
    

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Operadores en C ++

QTyB6qrFci67ihnVZwZKXa 1200 80

Cómo regar la planta en Vampyr y ganar el Trofeo Life Is Unstrange