将Python搜索结果保存在变量中并使用其元素

2024-04-28 16:44:55 发布

您现在位置:Python中文网/ 问答频道 /正文

因为我对Python还很陌生,这对你来说可能是个简单的问题!你知道吗

我想对给定文件夹“folder\u a”(包括“folder\u 1”、“folder\u 2”和…)中具有特定名称的所有目录执行一个进程。你知道吗

第一个问题:如何获得所有目录和文件夹的列表?我尝试的是:

for sub_folders in glob.glob("OPER.safe"): print sub_folders

但是,这只会创建一个包含所有目录的字符串,这在我的例子中并没有真正的帮助。你知道吗

第二个问题:如果我已经得到了列表,并且喜欢用for循环逐个访问每个文件夹,我该怎么做?你知道吗

提前多谢了!你知道吗


Tags: 字符串in目录文件夹名称列表for进程
1条回答
网友
1楼 · 发布于 2024-04-28 16:44:55

要遍历目录的内容,可以使用python出色的os.walk函数:

import os
for root, dirs, files is os.walk(root_dir):
  for d in dirs:
    if search_term in d:
      do_something_to_directory(d)

os.walk()生成元组,root是开始迭代的目录,dirs是目录列表,files是文件列表。你知道吗

编辑:如果要从某个子目录中获取文件,请遍历文件并筛选所需的目录名。试试看我的意思:

for root, dirs, files in os.walk(starting_directory_path):
  for f in files:
    absolute_path = os.path.join(root, f)
    if 'Desired Folder Name' in absolute_path:
      print absolute_path

因为os.walk()是递归的,所以所有子目录中的所有文件都将在files列表中。您只需要使用dirs列表,因为您正在专门查找一个目录。所有文件都在文件中。你知道吗

相关问题 更多 >