我在一个目录中有多个文件,我试图从中读取并将每个文件的内容保存到同一个数组中。
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]
我知道我的数组在每次尝试时都会被覆盖,但我无法理解为什么append
无法正常工作。有人可以通过每次调用getFileText
函数来解释我应该如何定义/填充我的数组吗?
答案 0 :(得分:2)
每次迭代都会将列表重置为[]
。只在迭代之前执行此操作:
fileTexts = []
for document in allFiles:
fileTexts.append(getFileText(basePath + document))
答案 1 :(得分:0)
或使用列表理解
file_texts = [getFileText(basePath + document) for document in allFiles]
https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions