在平常做项目的过程中,经常遇到一些python操作文件和目录的地方,python的documentation在这一块把几个知识点分到了两个地方(11.File and Directory Access 和 16.1.5 Files and Directories),现在总结一些常用的functions以便查阅,更多更详细的用法可以参考文档。
os.path模块
exists 查看路径或者文件是否存在
import os.path print os.path.exists("usr/lib")
结果
True
isfile和isdir 查看是否是文件、是否是目录
import os.path print os.path.isfile("usr/lib") print os.path.isdir("usr/lib")
结果
False True
getmtime 获取修改时间
import os.path import time mtime = os.path.getmtime("/usr/lib") print time.gmtime(mtime)
结果
time.struct_time(tm_year=2016, tm_mon=9, tm_mday=4, tm_hour=7, tm_min=7, tm_sec=8, tm_wday=6, tm_yday=248, tm_isdst=0)
glob模块
glob 根据一个unix风格的模式匹配返回一个path的列表
import glob print glob.glob("/usr/lib/*.o")
结果
['/usr/lib/bundle1.o', '/usr/lib/crt1.10.5.o', '/usr/lib/crt1.10.6.o', '/usr/lib/crt1.o', '/usr/lib/dylib1.10.5.o', '/usr/lib/dylib1.o', '/usr/lib/gcrt1.o', '/usr/lib/lazydylib1.o']
shutil模块
- copy 类似于unix里的cp
- copy2 类似于unix里的cp -p
- copytree 类似于unix里的cp -r
- rmtree 类似于unix里的rm -r
chdir 改变当前工作目录
- getcwd 返回当前目录的字符串
- listdir 返回改目录里面的文件的列表
- makedir 创建目录
- remove 移除一个文件
- rename 重命名
- walk 跑一个目录的树