Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何按名称从目录中读取文件?_Python_Python 3.x - Fatal编程技术网

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

Python 如何按名称从目录中读取文件?,python,python-3.x,Python,Python 3.x,我需要使用间隔0-400按名称读取目录中的文件。 这意味着程序读取的文件名从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

我需要使用间隔
0-400
按名称读取目录中的文件。 这意味着程序读取的文件名从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()

我将数组
文件
传递给
映射
函数。我怎样才能传递
0-400
数组文件来代替它呢?

不知道你在问什么。但是您试图编写的代码不起作用,我想您应该想知道如何使其起作用。所以,你写道:

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")
然后:


现在发生的事情没有达到你的期望。解释您当前遇到的问题。如果您收到任何错误,请显示回溯。首先,它应该是`范围内的num(0400):filename=num+“.vtb”。其次,您可能需要解释您坚持的内容,或者人们不知道该回答什么。因此,在我将此结果传递给
map
pool.map(open\u xml,files)
之后,我将文件读为:
files=glob.glob(“data/*”)
。因此,我需要从0到400获取文件,并将这些文件传递到
map
您的代码错误。在Python3中,
num.vtb“
不是合法的语法。您可能希望改为编写
num+”.vtb“
,但由于
num
是一个int,因此必须将其转换为字符串:
str(num)+“.vtb”
。另外,你的问题是什么?你有什么问题?@Goga更新了答案。那么,loop应该在外面?@Goga在什么外面?只需构建列表,然后运行
map
pool.map(open_xml, filenames)