如何创建分配了变量名的目录列表?

时间:2017-08-29 10:56:06

标签: python python-2.7 python-3.x

Folder1 = "images" # Just assigns name to the folder
Folder2 = "images2"
Folder3 = "images2"

def main(argv=None):
            if not gfile.Exists(Folder1):
                gfile.MakeDirs(Folder1)
            if not gfile.Exists(Folder2):
                gfile.MakeDirs(Folder2)
            if not gfile.Exists(Folder2):
                gfile.MakeDirs(Folder2)

        if __name__ == '__main__':
            tf.app.run()

有没有更好的方法使用词典创建这些目录并将文件夹名称分配给变量?

3 个答案:

答案 0 :(得分:0)

是。您可以将文件夹名称存储在列表中,并使用for - 循环创建每个文件夹:

folders = ["images", "images2", "images2"]

def main(argv=None):
    for folder in folders:
        if not gfile.Exists(folder):
            gfile.MakeDirs(folder)

如果您希望按特定名称访问每个文件夹,可以使用字典:

folders = {'Folder1': "image1", 'Folder2': "image2", 'Folder3': "image2"}

def main(argv=None):
    for folder in folders.values():
        if not gfile.Exists(folder):
            gfile.MakeDirs(folder)

答案 1 :(得分:0)

或者如果你想要词典(如你所说)

def create_folders(**kwargs):
print(kwargs)
for fName in kwargs:
    print(kwargs[fName])
    if not gfile.Exists(kwargs[fName]):
       gfile.MakeDirs(kwargs[fName])

create_folders(Folder1="images",Folder2="images2",Folder3="images2")

答案 2 :(得分:0)

你如何使用这样的字典:

folders = dict()
folders['Folder1'] = 'images'
for i in range(2, 4):
  folders['Folder' + str(i)] = 'images' + str(i)

def main(argv=None):
  for k, v in folders:
    if not gfile.Exists(v):
      gfile.MakeDirs(v)

if __name__ == '__main__':
  tf.app.run()

第一个循环是动态创建字典。