下面就是Python获取文件下所有文件或目录的os.walk()实例的攻略。
什么是os.walk
os.walk() 方法是 Python 的 os 模块中用于遍历一个目录树的方法。os.walk() 方法的使用非常简单,只需要提供一个需要遍历的根目录,它会返回一个三元组 (dirpath, dirnames, filenames)。其中,dirpath 是一个字符串,表示遍历时所在的目录的路径,dirnames 是一个列表,包含 dirpath 中子目录的名称,filenames 是一个列表,包含 dirpath 中所有文件的名称。
如何使用os.walk
要使用 os.walk() 方法,需要导入 Python 内置的 os 模块:
import os
os.walk() 方法接受一个参数,即需要遍历的根目录,返回一个三元组。代码示例如下:
for dirpath, dirnames, filenames in os.walk('root'):
print('目录路径:', dirpath)
print('子目录列表:', dirnames)
print('文件列表:', filenames)
以上代码将打印出遍历 'root' 目录树时所在目录、子目录与所有文件的信息。
os.walk()的示例
以下将展示两个获取文件下所有文件或目录的os.walk()实例:
示例 1:获取指定目录下所有文件的路径
示例代码如下:
import os
def main():
root = './test'
for dirpath, dirnames, filenames in os.walk(root):
for filename in filenames:
file_path = os.path.join(dirpath, filename)
print(file_path)
if __name__ == '__main__':
main()
在上面代码中,os.path.join()
方法用于拼接路径,将dirpath和filename合并成一个完整的文件路径。
示例2:统计指定目录下所有文件的行数
示例代码如下:
import os
def count_lines(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
return len(f.readlines())
def main():
root = './test'
total_lines = 0
for dirpath, dirnames, filenames in os.walk(root):
for filename in filenames:
file_path = os.path.join(dirpath, filename)
total_lines += count_lines(file_path)
print('总行数:', total_lines)
if __name__ == '__main__':
main()
count_lines()
方法用于统计文件的行数,利用os.walk()
方法遍历目录树,再逐个计算每个文件的行数,并对所有文件的行数求和。
以上就是Python获取文件下所有文件或目录的os.walk()实例的详细攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 获取文件下所有文件或目录os.walk()的实例 - Python技术站