Приношу свои извинения, если об этом спросили и ответили - я тщательно искал, но не могу найти четкого объяснения поведения, которое вижу, и я очень плохо знаком с программированием и питоном.
Когда язапустите следующий код:
import os
directory = "J:"
extension = "pdf"
for root, dirs, files in os.walk(directory):
for filename in files:
if filename.endswith("." + extension):
print(filename)
Он выдаст следующее:
Bristol.Investments.Ltd.y16m03.INVOICE.pdf
Bristol.Investments.Ltd.y16m04.INVOICE.pdf
Bristol.Investments.Ltd.y16m05.INVOICE.pdf
James.Cunningham.2017.PAID.pdf
random.test.file.pdf
Теперь, если бы я изменил это, чтобы закончить
print(filename[2])
Я быожидайте, что она напечатает третью строку следующим образом:
Bristol.Investments.Ltd.y16m05.INVOICE.pdf
Вместо этого я получаю третье письмо из каждой строки таким образом:
i
i
i
m
n
Может кто-нибудь объяснить, пожалуйста, такое поведение?В соответствии с документацией Python, os.walk выдает dirpath, dirnames, filenames, где «filenames» - это «список имен не-каталогов файлов в dirpath» - но, думаю, я не понимаю списки или как получить доступ к даннымвнутри них правильно.
Если бы кто-то мог объяснить, почему я вижу такое поведение и / или как вывести полное имя файла из списка имен файлов, я был бы очень признателен, спасибо.