相关疑难解决方法(0)

os.walk没有深入到下面的目录

如何限制os.walk只返回我提供的目录中的文件?

def _dir_list(self, dir_name, whitelist):
    outputList = []
    for root, dirs, files in os.walk(dir_name):
        for f in files:
            if os.path.splitext(f)[1] in whitelist:
                outputList.append(os.path.join(root, f))
            else:
                self._email_to_("ignore")
    return outputList
Run Code Online (Sandbox Code Playgroud)

python file os.walk

95
推荐指数
8
解决办法
10万
查看次数

非递归的os.walk()

我正在寻找一种方法来进行非递归os.walk()步行,就像os.listdir()工作一样.但我需要以同样的方式os.walk()返回.任何的想法?

先感谢您.

python os.walk non-recursive

28
推荐指数
3
解决办法
1万
查看次数

Python 3 - 具有有限递归深度的旅行目录树

我需要递归地处理目录树中的所有文件,但深度有限.

这意味着例如在当前目录和前两个子目录级别中查找文件,但不是更进一步.在这种情况下,我必须处理./subdir1/subdir2/file,但不是./subdir1/subdir2/subdir3/file.

我如何在Python 3中做到最好?

目前我os.walk用来处理循环中无限深度的所有文件,如下所示:

for root, dirnames, filenames in os.walk(args.directory):
    for filename in filenames:
        path = os.path.join(root, filename)
        # do something with that file...
Run Code Online (Sandbox Code Playgroud)

我可以想到一种计算目录separators(/)的方法root来确定当前文件的层次级别,以及break当该级别超过所需最大值时的循环.

我认为这种方法可能不安全,而且当需要忽略大量子目录时,效率可能非常低.这里的最佳方法是什么?

python directory-structure os.walk subdirectory python-3.x

3
推荐指数
2
解决办法
2831
查看次数