os 模块里面的方法都是与文件和目录相关的
以下介绍一下常用方法的语法和使用
import os,sys os.remove()删除文件 os.read(fd,n) 读取指定字节的字符串 打开文件 fd = os.open("f1.txt", os.O_RDWR) 读取文本 ret = os.read(fd, 12) print(ret) 关闭文件 os.close(fd) print("关闭文件成功!!") os.open(file, flags[, mode]) 打开文件 file -- 要打开的文件 os.O_RDONLY: 以只读的方式打开 os.O_WRONLY: 以只写的方式打开 os.O_RDWR : 以读写的方式打开 os.O_NONBLOCK: 打开时不阻塞 os.O_APPEND: 以追加的方式打开 os.O_CREAT: 创建并打开一个新文件 os.O_TRUNC: 打开一个文件并截断它的长度为零(必须有写权限) os.O_EXCL: 如果指定的文件存在,返回错误 os.O_SHLOCK: 自动获取共享锁 os.O_EXLOCK: 自动获取独立锁 os.O_DIRECT: 消除或减少缓存效果 os.O_FSYNC : 同步写入 os.O_NOFOLLOW: 不追踪软链接 mode 类似于chmod 打开文件 fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT ) path="./ss" os.mkdir(path)新建目录 os.makedirs()递归创建目录 os.chdir()改变当前路径 res=os.getcwd() print('当前路径是:',res) path='d:\' res1=os.chdir(path) res2=os.getcwd() print('当前路径:',res2) res3=os.chdir('D:\code') print(os.getcwd()) res4=os.listdir(os.getcwd()) 返回该目录下的文件夹和文件 print(res4) os.remove()删除该路径下的文件,若为目录则报OSError
os.walk()
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
os.walk() 方法用于通过在目录树种游走输出在目录中的文件名,向上或者向下。
top -- 根目录下的每一个文件夹(包含它自己), 产生3-元组 (dirpath, dirnames, filenames)【文件夹路径, 文件夹名字, 文件名】。
topdown --可选,为True或者没有指定, 一个目录的的3-元组将比它的任何子文件夹的3-元组先产生 (目录自上而下)。如果topdown为 False, 一个目录的3-元组将比它的任何子文件夹的3-元组后产生 (目录自下而上)。
onerror -- 可选,是一个函数; 它调用时有一个参数, 一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。
followlinks -- 设置为 true,则通过软链接访问目录
若topdown为True,是要先遍历根目录,在遍历子目录的,如果根目录没有文件,则返回空的list
for root,dir,file in os.walk(os.getcwd()): for name in dir: print(name) for name in file: print(name)
os.path 模块
os.path.getsize()#获取文件或目录的大小 os.path.split()#分割文件或目录名字 os.path.dirname()#获取目录名字 os.path.isdir()#是否是目录,目录不存在则返回FALSE os.path.isfile()#是否是文件,文件不存在则返回FALSE os.path.exists()#文件、目录是否存在 os.path.getatime()#获取文件、目录最后存储时间 os.path.getmtime()#获取文件目录最后更新时间 os.path.join() #把多个路径组合