当我们想要读取一个目录下的所有目录和文件时,可以使用Python内置的os库。
步骤如下:
1. 引入os库
首先,需要在代码开头引入os库:
import os
2. 获取目录信息
然后,可以使用os库中的listdir()函数获取目标目录中的所有目录和文件的名称列表:
path = '目标目录绝对路径'
files = os.listdir(path)
其中,path为目标目录的绝对路径,files为目标目录中所有目录和文件的名称列表。
在获取目录信息的过程中,需要注意以下几点:
- 如果不是使用绝对路径而是使用相对路径,需要使用os库中的abspath()函数将相对路径转换为绝对路径。
- 如果目录中有特殊的隐藏文件(如.gitignore、.DS_Store等),需要使用os库中的isfile()函数或isdir()函数判断文件类型并排除。
3. 循环判断目录类型
遍历目录列表并判断其中每一个目录或文件的类型,可以使用os库中的isfile()函数和isdir()函数。
如果是一个目录,需要进行递归调用,获取该目录中的所有目录和文件并继续遍历。
如果是一个文件,只需要打印其路径即可。
示例1:遍历目录并输出所有文件和目录的路径和名称。
import os
def list_files(path):
files = os.listdir(path)
for file in files:
abs_path = os.path.join(path, file)
if os.path.isdir(abs_path):
print("Directory:", abs_path)
list_files(abs_path)
elif os.path.isfile(abs_path):
print("File:", abs_path)
list_files("/Users/username/Desktop")
示例2:遍历目录并输出所有文件的路径和名称。
import os
def list_files(path):
files = os.listdir(path)
for file in files:
abs_path = os.path.join(path, file)
if os.path.isfile(abs_path):
print("File:", abs_path)
elif os.path.isdir(abs_path):
list_files(abs_path)
list_files("/Users/username/Desktop")
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python读取一个目录下所有目录和文件的方法 - Python技术站