TypeError:listdir()最多需要1个参数(给定2个)

时间:2017-04-27 21:47:29

标签: python python-3.x listdir

我试图同时迭代2个文件夹,因为我想处理两个不同位置的图像对,不幸的是listdir只需要1个参数,因此它不允许我迭代两个文件夹列表例如。还有其他方法可以做到这一点吗?谢谢

mypath2 = os.path.join('c:\\trainstcolor2')
images2 = list()


mypath = os.path.join('c:\\trainst2')
images = list()

for item,item2 in os.listdir(mypath,mypath2):

   image = cv2.imread(os.path.join(mypath, item))
   image2 = cv2.imread(os.path.join(mypath2, item2))

   if image is not None:

       images.append(image)
       images2.append(image2)

1 个答案:

答案 0 :(得分:4)

您不希望使用os.listdir 原样,因为(来自documentation):

  

[返回]列表[文件]按任意顺序排列。

因此,您可能需要以下内容:

images1 = sorted(os.listdir(mypath))
images2 = sorted(os.listdir(mypath2))

for item, item2 in zip(images1, images2):
    # ...