原标题:由两种简单的遍历指定目录下文件的方法来看os模块中的一些方法
遍历代码:
python中,如下两种实现都可以遍历得出指定目录下的所有文件(包括子目录)。
实现一、遇到文件则打印文件名,遇到目录则调用函数本身进行迭代
import os
def walk(dirname):
for name in os.listdir(dirname):
path = os.path.join(dirname, name)
if os.path.isfile(path):
print path
else:
walk(path)
实现二、利用os模块中已有的walk方法
import os
def walk(dirname):
for root, dirs, files in os.walk(dirname):
for filename in files:
print os.path.join(root, filename)
示例使用的方法解释:
os.listdir() 列出当前目录下面的所有文件与目录,以相对路径来表示
定位文件的字符串被称为路径,相对路径从当前目录开始,绝对路径从文件系统的顶层目录开始
os.path.join(目录名, 文件名) 接受一个目录和一个文件名称,将其拼接成一个完整路径
os.path.isfile(目录或文件名) 判断是否为文件
os.walk(指定目录) 遍历指定目录以及该目录下的所有子目录,每次遍历一个目录会返回一个三元组,分别是当前遍历的目录名,该目录下的所有子目录组成的list,该目录下所有文件组成的list
(要察看os.walk()所有遍历过的目录,只需如方法二一样进行for循环遍历)
OS模块其他方法:
os.getcwd() 获取当前目录
os.path.isdir(目录或文件名) 判断是否为目录
os.path.exists(目录或文件名) 判断目录或者文件是否存在