在Python中迭代填充数组

在Python中迭代填充数组,python,arrays,python-2.7,Python,Arrays,Python 2.7,我试图从一个目录中读取多个文件,并将每个文件的内容保存到同一个数组中 getFileNames返回基本目录中的所有文件名,并将其返回并正确保存到allFiles数组中 我尝试了下面的代码,但它只返回第一个文件中的数据。实际上,数组文件只有一项,allFiles[0] basePath = '/home/resume_examples/' allFiles = getFileNames(basePath) for document in allFiles: fileTexts = [get

我试图从一个目录中读取多个文件,并将每个文件的内容保存到同一个数组中

getFileNames
返回基本目录中的所有文件名,并将其返回并正确保存到
allFiles
数组中

我尝试了下面的代码,但它只返回第一个文件中的数据。实际上,数组文件只有一项,
allFiles[0]

basePath = '/home/resume_examples/'
allFiles = getFileNames(basePath)
for document in allFiles:
    fileTexts = [getFileText(basePath + document)]
print fileTexts
我也尝试过,但数组中仍然有一项(上次读取文件的内容)


我知道我的数组每次都会被覆盖,但我不明白为什么连
append
都不起作用。有人能解释一下我应该如何用
getFileText
函数的每次调用来定义/填充我的数组吗?

每次迭代都将列表重置为
[]
。仅在迭代之前执行此操作:

fileTexts = []
for document in allFiles:
    fileTexts.append(getFileText(basePath + document))

或者使用列表

file_texts = [getFileText(basePath + document) for document in allFiles]

append
在第二个示例中不起作用,因为在循环的每次迭代中都要创建一个新列表。。。您需要将
filetext=[]
放在循环的外部(前面),然后在循环中使用
append
loop@Anentropic:这看起来更像是一个答案而不是一个评论,不是吗?为什么
filetext[2]
它可以包含少于3个项目???@chapelo实际上我在目录中有24个文件,所以我只是测试数组是否拾取了超过1个文件的文本。哦,天哪,你说得太对了。我忽略了这一点,它是如此简单。
file_texts = [getFileText(basePath + document) for document in allFiles]