在名称为连续数字的目录中循环

时间:2016-04-05 13:58:17

标签: python linux directory

我有大约20个我想要循环的目录。目录名为:

AAAABBBB %lx %lx %lx %lx %lx %lx %lx %lx %lx %lx

我如何在AAAABBBB 7f7c0a88f030 7f7c0a66b980 7f7c0a669980 7f7c0a88f031 786c2520786c2520 7ffc1456b6f8 100000000 4242424241414141 786c2520786c2520 786c2520786c2520 中执行此操作?

我尝试了以下内容:

00001 00002 00003 ... 00010 00011 ... 00020

到目前为止,它一直工作,我能够进入第一个目录。但是我怎样才能为python目录做到这一点?

3 个答案:

答案 0 :(得分:1)

您可以生成目录名称列表并循环遍历它们,如下所示:

import os

n = 20

dirs = [str(i).zfill(5) for i in xrange(n)]
path = os.getcwd()

for directory in dirs:
    newpath = os.path.join(path, directory)
    os.chdir(newpath)
    # read and append data

答案 1 :(得分:0)

有很多方法可以做到这一点。一个是

import os
os.chdir("whereever/they/are")
folders = ("{:05}".format(n) for n in range(21))
for folder in folders:
    files = os.listdir(folder)
    # do whatever you want

另一种方法是使用os.walk

答案 2 :(得分:0)

我这样做的方法如下:

# get the name of all directories starting with 00
dirs = glob.glob('00*')
path = os.getcwd()

for directory in dirs:
    newpath = path + '/' + directory
    os.chdir(newpath)
    # read and append data

有人发布了答案,但似乎已被删除。