Вызов нескольких файлов с помощью glob

Я пытаюсь прочитать несколько файлов на моем персональном компьютере с помощью glob.glob, как показано ниже:

diri  = r"C:\Users\Hoonill\Desktop\Python\BAO\2007\2011"
filin = diri + '\*10*datresult'
FileList=sorted(glob.glob(filin))
print(FileList)

мой ожидаемый результат был такой, как серия

'C:\Users\Hoonill\Desktop\Python\BAO\2007\2011\BAO_100_2011229.datresult',

но я получил серию

'C:\\Users\\Hoonill\\Desktop\\Python\\BAO\\2007\\2011\\BAO_100_2011229.datresult'

Я не знаю почему '\' становиться '\\',

Исходя из советов других людей, этот результат, по-видимому, связан с добавлением "r" к пути к файлу, но без "r" я получил "SyntaxError: (ошибка Unicode) кодек" unicodeescape "не может декодировать байты в позиции 2-3: усеченный \UXXXXXXXX escape."

Любая идея или помощь будут действительно оценены.

С наилучшими пожеланиями,

Исаак

1 ответ

Это Python, избегающий \ символы в пути к файлу Windows. Он будет печататься нормально, если вы используете print() Функция / оператор (в зависимости от вашей версии Python):

>>> lst = ['C:\Users\Hoonill\Desktop\Python\BAO']
>>> lst
['C:\\Users\\Hoonill\\Desktop\\Python\\BAO']
>>> for ele in lst:
...     print(ele)
...
C:\Users\Hoonill\Desktop\Python\BAO
Другие вопросы по тегам