
python如何获取目录结构
用户关注问题
如何使用Python列出指定目录下的所有文件和子目录?
我想用Python获取一个目录下所有文件和子目录的列表,有哪些方法可以实现?
使用os模块列出目录内容
可以使用Python内置的os模块中的os.listdir()函数来获取指定目录下的所有文件和子目录名,返回的是一个列表。示例代码:
import os
files_and_dirs = os.listdir('your_directory_path')
print(files_and_dirs)
怎样递归获取目录及其子目录下的所有文件路径?
如何用Python遍历一个目录及所有子目录,获取里面所有文件的完整路径?
利用os.walk()递归遍历目录
Python中的os.walk()函数允许遍历目录树,能够获取当前目录路径、其中的文件夹以及文件名。示例代码如下:
import os
for root, dirs, files in os.walk('your_directory_path'):
for file in files:
print(os.path.join(root, file))
有没有更现代的方式用Python获取目录结构信息?
除了os模块,有没有更方便或现代的Python库来获取目录结构?
使用pathlib模块操作目录结构
pathlib是Python 3.4以后引入的面向对象路径操作模块,使用起来更加简洁。获取目录内容可以使用Path类的iterdir()方法,遍历目录及子目录使用rglob()。示例代码:
from pathlib import Path
p = Path('your_directory_path')
for entry in p.iterdir():
print(entry) # 列出当前目录下所有文件和文件夹
for file in p.rglob('*'):
print(file) # 递归列出所有文件和目录