listdir()函数获取目录中的所有文件?
发布时间:2023-12-01 16:34:16
listdir()函数是Python中的一个方法,用于获取指定目录中的所有文件和子目录。它是os模块中的一个方法,需要导入该模块才能使用。
使用listdir()函数的语法如下:
os.listdir(path)
其中,path是一个字符串,表示要获取文件列表的目录路径。该方法返回一个包含目录中所有文件和子目录的列表。
下面是关于listdir()函数的一些重要信息和使用示例:
1. listdir()函数返回的列表包含目录中的所有文件和子目录的名称。
2. 如果路径无效或给定的路径不是一个目录,listdir()函数将会抛出一个OSError异常。
3. 返回的列表中的所有元素都是字符串,代表目录中的文件或子目录的名称。
4. 返回的列表中不包含当前目录(.)和上级目录(..)。
5. 如果需要获取完整的路径而不仅仅是文件或子目录的名称,可以使用os.path模块的join()函数来拼接完整路径。
下面是一个示例,展示如何使用listdir()函数来列出指定目录中的所有文件和子目录:
import os
# 指定目录路径
path = '/usr/local/'
# 使用listdir()函数获取目录中的所有文件和子目录
file_list = os.listdir(path)
# 遍历文件列表
for file_name in file_list:
# 使用os.path.join()函数获取完整的文件路径
file_path = os.path.join(path, file_name)
# 判断是否为目录
if os.path.isdir(file_path):
# 如果是目录,打印子目录的名称
print('子目录:', file_name)
else:
# 如果是文件,打印文件的名称和大小
file_size = os.path.getsize(file_path)
print('文件:', file_name, '大小:', file_size)
上述示例中,首先导入了os模块,然后指定了要获取文件列表的目录路径。接下来,使用listdir()函数获取目录中的所有文件和子目录的名称,并将它们存储在file_list列表中。然后,遍历file_list列表,判断每个元素是文件还是子目录。如果是子目录,打印其名称;如果是文件,使用os.path.getsize()函数获取文件大小,并打印文件名称和大小。
总结:
listdir()函数是Python中用于获取指定目录中的所有文件和子目录的方法。它返回一个包含目录中所有文件和子目录名称的列表。通过遍历该列表,可以对目录中的每个文件和子目录执行特定的操作。
