如何在目录中多次找到特定文件夹?

休金特

我正在使用具有多个结构相似的文件夹的目录。我想在这个目录中多次找到一个文件夹。摆弄里面的文件。然后继续 os.walk() 直到再次找到该文件夹​​,重复该过程。

例子:

directory:
    ----X3
        ----Tim
        ----Jan
        ----Eric
    ----X4
        ----Tim
        ----Jan
        ----Eric

我想找到“Tim”文件夹的两个实例,并在其中执行类似的操作。

作为旁注,如果我也可以获取其上方文件夹的名称,那也将非常有帮助。因此“Tim”文件夹中的文件可以命名为“X3 - Tim - ThingIWantToDo.file”和“X4 - Tim - ThingIWantToDo.file”

我知道这os.walk()可以完整地遍历一个目录。它可以很容易地找到特定的文件。查找特定文件夹显然要困难得多。

for folderName, subfolders, filenames in os.walk('C:\\'):
    print('The current folder is ' + folderName)

    for subfolder in subfolders:
        print('SUBFOLDER OF ' + folderName + ': ' + subfolder)
    for filename in filenames:
        print('FILE INSIDE ' + folderName + ': '+ filename)

这非常适合仅列出所有内容。但我想要的是,当folderName路径包含我正在寻找的文件名时,我的thingIWantToDO()代码将执行,然后它会继续。

像这样的东西

for folderName, subfolders, filenames in os.walk('C:\\'):
        if folderName contains 'Tim':
            andFolderContainingTim = folderName[:-10] #or some number.
            thingIWantToDO(folderName, andFolderContainingTim)

我想从这个 os.walk(), * 中保存两件事,首先是特定搜索文件夹上方的文件夹。(X3 到 Tim) * 其次,获取文件夹路径,以便我的其余代码可以继续工作。

任何帮助深表感谢。

泰德

你可以使用pathlib

mkdir A A/1 A/2 A/3 B B/1 B/3 B/4

.
├── A
│   ├── 1
│   ├── 2
│   └── 3
└── B
    ├── 1
    ├── 3
    └── 4
from pathlib import Path

def find_all(name):
    return list(p for p in Path().glob("**/"+name) if p.is_dir() )

find_all("1")
>>>[PosixPath('A/1'), PosixPath('B/1')]

请注意,返回的列表是由Path实例,但你可以只敷pstr(p)先手的名字。

从这些Path实例中很容易获得父目录:

dirs = find_all("1")
parent_directories = [p.parent for p in dirs]
>>> [PosixPath('A'), PosixPath('B')]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在目录中找到最新的日期文件夹,然后在Shell脚本中构造命令?

来自分类Dev

如何在Sublime Text中的项目/文件夹中找到特定文件

来自分类Dev

如何增加或遍历特定目录中的文件夹

来自分类Dev

如何在CMD中目录的每个文件夹中递归创建子文件夹

来自分类Dev

如何在Java中打开文件夹/目录

来自分类Dev

如何找到特定的文件夹?

来自分类Dev

如何在python中获得具有特定文件夹同级的特定文件夹

来自分类Dev

如何在python中获得具有特定文件夹同级的特定文件夹

来自分类Dev

如何在不扫描python子文件夹的情况下计算特定目录中的文件数

来自分类Dev

找到特定的文件夹

来自分类Dev

如何在特定文件夹中找到没有写权限的所有文件?

来自分类Dev

如何找到目录下的所有文件夹

来自分类Dev

如何仅列出遵循特定目录中公共模式的某些目录的文件夹权限?

来自分类Dev

如何在不在工作目录中的目录中创建文件夹

来自分类Dev

Bash-在目录及其目录中找到几个特定的文件夹,然后重命名这些特定的文件夹

来自分类Dev

Bash-在目录及其目录中找到几个特定的文件夹,然后重命名这些特定的文件夹

来自分类Dev

在特定目录及其子目录中,找到所有以 .tmp 扩展名结尾的文件夹

来自分类Dev

如何仅将压缩文件夹中的特定文件夹提取到给定目录?

来自分类Dev

如何在文件浏览器中查看文件或文件夹的目录

来自分类Dev

Excel VBA忽略目录中的特定文件夹/文件

来自分类Dev

如何在Android Studio中快速找到文件夹树结构中的文件?

来自分类Dev

如何在Python的父目录中打开/读取/写入文件夹中的文件?

来自分类Dev

如何在目录中的多个文件夹中搜索 .ps1 文件

来自分类Dev

如何在特定目录中查找所有空文件和文件夹,包括看起来只是空的文件和不是空文件?

来自分类Dev

如何在特定目录中查找所有空文件和文件夹,包括看起来只是空的文件和不是空文件?

来自分类Dev

如何在Matlab的文件夹中找到.xlsx文件?

来自分类Dev

如何在可绘制文件夹中以字符串形式找到图像的文件路径?

来自分类Dev

Python:如何在Linux的特定目录中查找上一个小时创建的新文件夹/目录

来自分类Dev

Excel VBA如何在当前目录的文件夹中执行BAT文件

Related 相关文章

  1. 1

    如何在目录中找到最新的日期文件夹,然后在Shell脚本中构造命令?

  2. 2

    如何在Sublime Text中的项目/文件夹中找到特定文件

  3. 3

    如何增加或遍历特定目录中的文件夹

  4. 4

    如何在CMD中目录的每个文件夹中递归创建子文件夹

  5. 5

    如何在Java中打开文件夹/目录

  6. 6

    如何找到特定的文件夹?

  7. 7

    如何在python中获得具有特定文件夹同级的特定文件夹

  8. 8

    如何在python中获得具有特定文件夹同级的特定文件夹

  9. 9

    如何在不扫描python子文件夹的情况下计算特定目录中的文件数

  10. 10

    找到特定的文件夹

  11. 11

    如何在特定文件夹中找到没有写权限的所有文件?

  12. 12

    如何找到目录下的所有文件夹

  13. 13

    如何仅列出遵循特定目录中公共模式的某些目录的文件夹权限?

  14. 14

    如何在不在工作目录中的目录中创建文件夹

  15. 15

    Bash-在目录及其目录中找到几个特定的文件夹,然后重命名这些特定的文件夹

  16. 16

    Bash-在目录及其目录中找到几个特定的文件夹,然后重命名这些特定的文件夹

  17. 17

    在特定目录及其子目录中,找到所有以 .tmp 扩展名结尾的文件夹

  18. 18

    如何仅将压缩文件夹中的特定文件夹提取到给定目录?

  19. 19

    如何在文件浏览器中查看文件或文件夹的目录

  20. 20

    Excel VBA忽略目录中的特定文件夹/文件

  21. 21

    如何在Android Studio中快速找到文件夹树结构中的文件?

  22. 22

    如何在Python的父目录中打开/读取/写入文件夹中的文件?

  23. 23

    如何在目录中的多个文件夹中搜索 .ps1 文件

  24. 24

    如何在特定目录中查找所有空文件和文件夹,包括看起来只是空的文件和不是空文件?

  25. 25

    如何在特定目录中查找所有空文件和文件夹,包括看起来只是空的文件和不是空文件?

  26. 26

    如何在Matlab的文件夹中找到.xlsx文件?

  27. 27

    如何在可绘制文件夹中以字符串形式找到图像的文件路径?

  28. 28

    Python:如何在Linux的特定目录中查找上一个小时创建的新文件夹/目录

  29. 29

    Excel VBA如何在当前目录的文件夹中执行BAT文件

热门标签

归档