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

休金特

我正在使用具有多个结构相似的文件夹的目录。我想在这个目录中多次找到一个文件夹。摆弄里面的文件。然后继续 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

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

找到特定的文件夹

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何找到特定的文件夹?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

    找到特定的文件夹

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

    如何找到特定的文件夹?

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

热门标签

归档