os.walk()返回'/'而不是实际的文件夹名称

时间:2015-10-23 16:35:44

标签: python os.walk

我知道有很多与此相关的问题,但我似乎无法找到帮助我解决问题的答案。

我正在使用os.walk()遍历我的主文件夹中的子文件夹,其中包含文件夹和文件。

$(document).ready(function () {
   if($('.list li').hasClass('aDynamicallyGeneratedClass')){
     //Then do this with my object.
   });
});

所以我使用此代码根据子文件夹名称创建新的文本文件。但是这会返回文件夹/ .txt,这意味着dirs返回'/'并且文件返回['file.txt','file2.txt']。

Main Folder
    Pass Folder
        files.txt
    Fail Folder
        files.txt
    file.txt
    file2.txt

如何修复它以便dirs返回['Main Folder / Pass Folder','Main Folder / Fail Folder']并且文件返回每个文件夹中的文件?

1 个答案:

答案 0 :(得分:0)

我最近在我的代码中使用了类似的东西(如果我没记错的话,我也在SO上找到了)。我的事情是这样的:

    for (dirpath, subdirs, filelist) in os.walk(folder):
        # join directories in here

来自文档:

  

dirpath是一个字符串,即目录的路径。 dirnames是dirpath中子目录的名称列表(不包括“。”和“..”)。 filenames是dirpath中非目录文件的名称列表。请注意,列表中的名称不包含路径组件。要获取dirpath中文件或目录的完整路径(以top开头),请执行os.path.join(dirpath,name)。

我不确定os.walk()是否符合你的期望。我建议使用os.path.join()一起加入目录以获得您想要的内容。