2017-05-05 54 views
0

标题听起来可能令人困惑所以这里在目录Python变量变量是我想要的......一个文件夹

我有以下代码:

import os 
dir_list = os.walk('aFolder').next()[1]  #aFolder is the directory location 

SizeOfList = len(dir_list) 
NumbOfList = 0 

while (NumbOfList < SizeOfList): 
    print dir_list [NumbOfList] 
    NumbOfList = NumbOfList + 1 

这段代码获得所有的文件夹(不包括子文件夹)放在名为'aFolder'的文件夹中,并将其显示给用户。但是,我想将这些文件夹名称存储为不同的变量。我在这里遇到的问题是,我不知道该目录中的文件夹数量,因此我无法将1个变量设置为dir_list [0],另一个设置为dir_list [1]等。

我需要这个,因为我想选择并使用if语句选择某些文件夹。如果你有替代方案比我的更好,我会很乐意接受它。

我对此的解决方案是使用while循环。但是,我无法弄清楚如何在每次while循环重复时更改变量名称。我试过this,thisthis。第三个链接是最接近的,但我仍然无法弄清楚如何实现它。

先谢谢任何人的帮助。

+1

你不是已经把它们存储在'dir_list'中吗? – kabanus

+0

@kabanus是的,已经有一个列表。导入后的第一行就是这样做的。 – Sank6

+3

为什么列表不够用?为什么你需要创建单独的变量?这从一开始就是一个糟糕的主意。 –

回答

1

你问我扩大我的评论。这里是:

import os 

d=dict() 
dir_list = os.walk('/tmp').next()[1] 

for idx in range(len(dir_list)): 
    d.update({dir_list[idx]: idx}) 

for k, v in d.items(): 
    print "k=", k, "v=", v 
    d.update({k: v+1}) # to update the variable 
    print "new value of <%s>"%(k), d[k] 
    print 
+0

我必须在我面前丢失一些东西,但什么是k和v? – Sank6

+0

k和v是字典的“关键”和“值”。每把钥匙都有它的价值。关键是您的变量名称和价值是其个人价值。 – dede

+0

值是随机的吗? – Sank6

1

如果你想看到一个字符串是否是一个文件夹在你的列表中的字符串:

for directory in dir_list: 
    #Do stuff for everyone 
    if "mysubstring" in directory: 
     dospecialstuff() 
+0

是的,这个工作正常......这只是我想看看'myname'的一部分是否属于任何列表的一部分。就像它会识别'Hwqdmyname23'一样。 – Sank6

+0

@SankarshMakam我不知道我明白了,这是解决方案吗?只需在代码中写下你要做的事情 - 假设你有var1,var2等代码。 – kabanus

+0

不需要。我希望'if'语句能识别带有'myname'的文件夹名称。它不一定被称为'myname'。 – Sank6

相关问题