os.walk(top, topdown=True, onerror=None, followlinks=False)
可以得到一个三元tupple(dirpath, dirnames, filenames),
第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
dirpath 是一个string,代表目录的路径,
dirnames 是一个list,包含了dirpath下所有子目录的名字。
filenames 是一个list,包含了非目录文件的名字。
这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).
通过for循环自动完成递归枚举
# -*- coding: utf-8 -*-
import os
def del_files(path):
for root , dirs, files in os.walk(path):
for name in files:
if name.endswith(".tmp"):
os.remove(os.path.join(root, name))
print ("Delete File: " + os.path.join(root, name))
# test
if __name__ == "__main__":
path = '/tmp'
del_files(path)
os.getcwd()
该函数不需要传递参数,它返回当前的目录。需要说明的是,当前目录并不是指脚本所在的目录,而是所运行脚本的目录。
sys.path[0] 返回当前脚本所在的目录
Os.listdir(path)
可以使用os.listdir()函数获得指定目录中的内容
os.path模块
1>basename() #去掉目录路径,返回文件名
>>>os.path.basename("/root/python/zip.py")
'zip.py'
2>dirname() #去掉文件名,返回目录路径
>>> os.path.dirname("/root/python/zip.py")
'/root/python'
3>join()
#将分离的各部分组合成一个路径名
>>>
os.path.join("/root/python/","zip.py")
'/root/python/zip.py'
4>split()
#返回目录路径和文件名的元组
>>>
os.path.split("/root/python/zip.py")
('/root/python', 'zip.py')
5>splitdrive() #返回驱动符号和路径字符元组
>>> os.path.splitdrive("/root/python/zip.py")
('', '/root/python/zip.py')
6>splitext() #返回文件名和扩展名元组
>>>os.path.splitext("zip.py")
('zip','.py')
7>getatime() #返回文件最近的访问时间
>>> os.path.getatime("/root/python/zip.py")
1297653596
>>> time.ctime(1297653596)
'Mon Feb 14 11:19:56 2011'
8>getctime() #返回文件的创建时间
9>getmtime() #返回文件的修改时间
10>getsize()
#返回文件的大小单位为字节
>>> os.path.getsize("zip.py")
864
11>exists() #指定路径(文件或目录)是否存在
>>>
os.path.exists("/root/python/xukai.py")
False
>>> os.path.exists("/root/python/zip.py")
True
12>isabs() #指定路径是否为绝对路径
>>>
os.path.isabs("/root/python/zip.py")
True
>>> os.path.isabs("root/python/zip.py")
False
13>isdir() #指定路径是否存在且为一个目录
14>isfile() #指定的路径是否为一个文件
15>samefile() #两个路径名是否指向同一个文件