python从多个目录(文件夹)打开文件

python从多个目录(文件夹)打开文件,python,operating-system,Python,Operating System,我在多个目录中有多个文件,希望迭代每个目录以运行代码。我写过这样的代码 import os path = [".\\folder1\\",".\\forder2\\"] for i in path: # print (i) # test for filename in os.listdir(i): filedata = open(i+filename,"r") data = filedata.read().split() stri

我在多个目录中有多个文件,希望迭代每个目录以运行代码。我写过这样的代码

import os

path = [".\\folder1\\",".\\forder2\\"]
for i in path:
    # print (i) # test
    for filename in os.listdir(i):
        filedata = open(i+filename,"r")
        data = filedata.read().split()
        string = "".join(data)
        filedata.close()
但是,由于i不具体,它会出错。 每个文件夹都包含字符串,可以通过os.listdir访问这些字符串

从多个目录读取文件时,如何克服此问题


提前感谢。

尝试使用
os.path.join

path = ["folder1", "folder2"]
for i in path:
    for filename in os.listdir(i):
        with open(os.path.join(i, filename), 'r') as filedata:
            string = "".join(filedata.read().split())

尝试使用
os.path.join

path = ["folder1", "folder2"]
for i in path:
    for filename in os.listdir(i):
        with open(os.path.join(i, filename), 'r') as filedata:
            string = "".join(filedata.read().split())

你将有一个不断变化的文件数,还是只有两个?实际上,我将改变我将添加到列表“路径”中的目录数。我想os.listdir读取目录中的所有文件。谢谢。你的文件数量会有变化吗,还是只有两个?实际上,我会改变目录的数量,我会在“路径”列表中添加目录。我想os.listdir读取目录中的所有文件。谢谢。谢谢您的帮助,但它会得到“TypeError:类型为'int'的对象没有len()”和“~~在join assert len(path)>0”我没有得到消息,并且错误不是特定的。。。希望还有其他建议。哦,我的错。我在代码中使用了相同的变量“I”两次!这很好用!谢谢你,乔莎!很高兴它有帮助,@Karyo:)谢谢你的帮助,但是它得到了“TypeError:type'int'的对象没有len()”和“~~在join-assert-len(path)>0”我没有得到消息,并且错误不是特定的。。。希望还有其他建议。哦,我的错。我在代码中使用了相同的变量“I”两次!这很好用!谢谢你,乔莎!很高兴这有帮助,@Karyo:)