欢迎各位兄弟 发布技术文章
这里的技术是共享的
python 得到 某个文件夹下面的所有子文件夹
在Python中,你可以使用os
模块来遍历某个文件夹下的所有子文件夹。以下是一个简单的示例代码,它展示了如何获取指定文件夹下的所有子文件夹名称:
python复制代码import os
def get_all_subdirectories(path): subdirectories = [os.path.join(path, name) for name in os.listdir(path) if os.path.isdir(os.path.join(path, name))] return subdirectories
# 示例:获取'/path/to/your/directory'下的所有子文件夹 directory_path = '/path/to/your/directory' all_subdirs = get_all_subdirectories(directory_path)
# 打印所有子文件夹路径 for subdir in all_subdirs: print(subdir)
在这个例子中,get_all_subdirectories
函数接受一个路径作为参数,并使用os.listdir
来获取该路径下的所有文件和文件夹的名称列表。然后,它使用列表推导式来过滤出那些是文件夹的名称,并使用os.path.join
来构建完整的子文件夹路径。最后,它返回这些子文件夹的路径列表。
请确保将directory_path
变量替换为你想要遍历的文件夹的实际路径。执行这段代码后,它将打印出指定文件夹下的所有子文件夹的路径。
如果你只想获取子文件夹的名称(而不是完整的路径),你可以稍微修改一下get_all_subdirectories
函数:
python复制代码def get_all_subdirectory_names(path): subdir_names = [name for name in os.listdir(path) if os.path.isdir(os.path.join(path, name))] return subdir_names
# 示例:获取'/path/to/your/directory'下的所有子文件夹名称 directory_path = '/path/to/your/directory' all_subdir_names = get_all_subdirectory_names(directory_path)
# 打印所有子文件夹名称 for subdir_name in all_subdir_names: print(subdir_name)
在这个版本的函数中,我们直接返回子文件夹的名称列表,而不是它们的完整路径。
python 得到 某个文件夹下面的所有子文件夹
在Python中,你可以使用os
模块中的os.walk()
函数来获取某个文件夹及其所有子文件夹的名称。以下是一个简单的例子:
Python1import os
2
3def list_subdirectories(directory):
4 # os.walk()生成器会遍历directory及其所有子目录
5 for root, dirs, _ in os.walk(directory):
6 # dirs变量包含了当前root路径下的子目录列表
7 for dir_name in dirs:
8 # 获取子目录的完整路径
9 sub_dir = os.path.join(root, dir_name)
10 # 打印或存储子目录名称
11 print(sub_dir)
12
13# 使用方法:
14parent_directory = '/path/to/your/directory'
15list_subdirectories(parent_directory)
这段代码将会输出指定父目录下所有子目录的完整路径。如果你只需要子目录的名字而不是完整路径,可以在循环中只使用dir_name
:
Python1def list_subdir_names(directory):
2 for _, dirs, _ in os.walk(directory):
3 for dir_name in dirs:
4 print(dir_name)
5
6# 使用方法相同
7list_subdir_names(parent_directory)
这样只会打印出子目录的名称,而不包括它们的完整路径。
python 得到 windows 某个文件夹下面的所有子文件夹
在Windows环境下,Python获取某个文件夹下所有子文件夹的名称与在其他操作系统上的做法并无二致,依然可以使用os.walk()
函数。以下是具体的示例代码:
Python1import os
2
3def list_windows_subdirectories(directory):
4 for root, dirs, _ in os.walk(directory):
5 for dir_name in dirs:
6 print(os.path.join(root, dir_name)) # 输出子目录的完整路径
7
8# 使用方法:
9parent_directory = 'C:\\path\\to\\your\\directory' # 替换为实际的Windows文件路径
10list_windows_subdirectories(parent_directory)
或者,如果你只需要子目录的相对路径或仅子目录名称:
Python1def list_relative_subdir_names(directory):
2 for root, dirs, _ in os.walk(directory):
3 for dir_name in dirs:
4 print(dir_name) # 输出子目录名称相对于root的相对路径
5
6def list_absolute_subdir_names(directory):
7 for root, dirs, _ in os.walk(directory):
8 for dir_name in dirs:
9 print(os.path.join(root, dir_name)) # 输出子目录的完整绝对路径
10
11# 使用方法相同,选择你需要的方式
12list_relative_subdir_names(parent_directory)
13list_absolute_subdir_names(parent_directory)
请确保你具有足够的权限访问指定的Windows文件夹。在Windows路径中,反斜杠\
需要进行转义,因此通常使用两个反斜杠\\
或者单个正斜杠/
作为路径分隔符。在上述代码中,我使用了正斜杠,因为os.path
模块能够处理跨平台的路径格式。