Python遍历目录的4种方法实例介绍
在Python中,我们可以使用多种方法遍历目录。本文将对Python遍历目录的4种方法进行介绍,并提供实例示范。
方法一:os.listdir()方法
os.listdir()
方法用于返回指定目录下的所有文件和目录名,我们可以使用for循环遍历得到每一个文件和目录的名称。具体代码示例如下:
import os
dir_path = 'path/to/your/directory'
file_list = os.listdir(dir_path)
for file_name in file_list:
print(file_name)
方法二:os.walk()方法
os.walk()
方法会遍历指定目录下的所有文件和子目录,并返回一个三元组(root, dirs, files),其中root
表示遍历的根目录,dirs
表示根目录下所有子目录的列表,files
表示根目录下所有文件的列表。我们可以使用for循环遍历得到每一个文件和目录的名称。具体代码示例如下:
import os
dir_path = 'path/to/your/directory'
for root, dirs, files in os.walk(dir_path):
print('当前目录:', root)
print('包含的文件夹:', dirs)
print('包含的文件:', files)
方法三:glob.glob()方法
glob.glob()
方法用于返回指定目录下所有符合条件的文件,我们可以使用通配符来筛选需要的文件。具体代码示例如下:
import glob
dir_path = 'path/to/your/directory'
file_list = glob.glob(dir_path + '/*.txt')
print(file_list)
方法四:Path对象
Path
库是Python 3.5及以上版本的标准库,它提供了一种新的方式来处理文件和路径。我们可以使用Path
对象遍历目录,具体代码示例如下:
from pathlib import Path
dir_path = 'path/to/your/directory'
for file_name in Path(dir_path).glob('*.txt'):
print(file_name)
以上四种方法可以根据不同的需要选择使用,它们均可用于遍历目录中所有的文件和目录,并通过条件筛选出需要的文件。
示例说明
示例1:遍历目录并统计每个文件的行数
import os
dir_path = 'path/to/your/directory'
for root, dirs, files in os.walk(dir_path):
for file_name in files:
file_path = os.path.join(root, file_name) # 获取文件的绝对路径
if file_path.endswith('.txt'): # 只处理txt文件
with open(file_path, 'r', encoding='utf-8') as f:
line_count = len(f.readlines())
print('{}: {:,}行'.format(file_path, line_count))
示例2:从各个目录中获取特定的文件
import os
dir_path = 'path/to/your/directory'
for root, dirs, files in os.walk(dir_path):
for file_name in files:
file_path = os.path.join(root, file_name) # 获取文件的绝对路径
if 'error' in file_name and file_path.endswith('.log'): # 匹配包含error的文件名,并筛选出log文件
with open(file_path, 'r', encoding='utf-8') as f:
print(f.read())
以上两个示例说明了如何遍历目录中的文件,并根据不同的需求获取文件。其中示例1统计每个txt文件的行数,示例2获取包含error关键字的log文件内容。在实际使用中,根据自己的需求选择合适的方法,并根据需要扩展代码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python遍历目录的4种方法实例介绍 - Python技术站