如何按名称从目录中读取文件?

时间:2016-11-21 06:32:16

标签: python python-3.x

我需要使用间隔0-400按名称读取目录中的文件。 这意味着programm读取名称为0到400的文件。

现在我有了这段代码:

 with open(file) as xml:
        doc = xmltodict.parse(xml.read())

所以,我试过了:

for num in range(0,400)
  filename = num".vtb"
  doc = xmltodict.parse(filename.read())

问题在于我使用:

if __name__ == '__main__':
    files = glob.glob("data*")
    pool = Pool()
    pool.map(open_xml, files)
    c.close()

我将数组files传递给map函数。如何传递0-400数组文件而不是?

1 个答案:

答案 0 :(得分:1)

不确定你在问什么。但是你尝试编写的代码不起作用,我认为你想知道如何使它工作。所以,你写道:

for num in range(0,400)
  filename = num".vtb"
  doc = xmltodict.parse(filename.read())

相反,请尝试:

for num in range(0,400)
  filename = str(num) + ".vtb"
  doc = xmltodict.parse(filename.read())

如果这不符合您的要求,那么您的问题就在其他地方。

修改

阅读您的评论,我的理解是您希望将这些0传递给400个文件到map。然后,您只需构建一个包含所有使用路径的列表:

filenames = []
for num in range(0,400)
    filenames.append(str(num) + ".vtb")

然后:

pool.map(open_xml, filenames)