У меня есть несколько файлов в каталоге, который я пытаюсь прочитать, и сохранить содержимое каждого файла в том же массиве.Итеративно заполнять массив в Python
getFileNames
возвращает все имена файлов из базового каталога, и они возвращаются и сохраняются правильно в массив allFiles
.
Я пробовал приведенный ниже код, но он возвращает только данные из первого файла. Фактически, файл массива имеет только один элемент, allFiles[0]
.
basePath = '/home/resume_examples/'
allFiles = getFileNames(basePath)
for document in allFiles:
fileTexts = [getFileText(basePath + document)]
print fileTexts
Я также пробовал, но есть еще один элемент в массиве (содержимое последнего чтения файла).
basePath = '/home/resume_examples/'
allFiles = getFileNames(basePath)
for document in allFiles:
fileTexts = []
fileTexts.append(getFileText(basePath + document))
print fileTexts[2]
Я понимаю, что мой массив перезаписывается при каждом itteration, но я не могу понять, почему даже append
не работает. Может кто-нибудь объяснить, как я должен определять/заполнять мой массив при каждом вызове функции getFileText
?
'append' не работает в вашем втором примере, потому что вы снова сделать новый список на каждой итерации цикла ... вам нужно поставить 'fileTexts = []' _outside_ (до) цикл, а затем использовать 'append' в цикле – Anentropic
@ Энтропия: это больше похоже на ответ, чем комментарий, no ? – DSM
Почему 'fileTexts [2]' когда он может иметь менее 3 элементов? – chapelo