try:
        print(filePath)
        my_file = Path(filePath)
    except ValueError:
        print ValueError

Intentar ejecutar este código sigue arrojando un error:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 26: ordinal not in range(128)

El valor que lo explota es: Kellyanne Conway: Giuliani’s Withdrawal From Consideration A ‘Mutual Decision’ | MTP Daily | MSNBC.opus

Intenté codificar esta cadena en ascii y unicode y no funcionó. ¿Cómo puedo comprobar si el archivo existe correctamente? Gracias.

0
Anthony 13 dic. 2016 a las 07:20
¿Y qué es Path?
 – 
TigerhawkT3
13 dic. 2016 a las 07:21
from pathlib import Path
 – 
Anthony
13 dic. 2016 a las 07:37
Python 2 o Python 3? Importa. Consulte stackoverflow.com/questions/33938079/… y pypi.python.org/pypi/pathlib (busque "ASCII")
 – 
Son of a Beach
13 dic. 2016 a las 07:50
Este binario es 2.7.11
 – 
Anthony
13 dic. 2016 a las 07:53

1 respuesta

La mejor respuesta

Utilice os.path en lugar de pathlib.

import os

print os.path.exists(filePath)
print os.path.isfile(filePath)

Pathlib anterior a Python 3 no maneja bien los caracteres que no son ASCII. Ver:

¿Por qué Python2 y Python3 tratan el mismo directorio de Windows de manera diferente?

Y

https://pypi.python.org/pypi/pathlib/ (busque "ASCII ")

0
Community 23 may. 2017 a las 13:30
Funciona a las mil maravillas, gracias. No tengo votos a favor, pero votaré esto cuando vuelva a obtener algunos, gracias
 – 
Anthony
13 dic. 2016 a las 08:02
Intenté usar Python 3 pero encontré un error de SSL
 – 
Anthony
13 dic. 2016 a las 08:03