一:os模块方法
- os.access(path,mode)检测文件是否存在等,不区分大小写
参数
path -- 要用来检测是否有访问权限的路径。
mode -- mode为F_OK,测试存在的路径,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。
os.F_OK: 作为access()的mode参数,测试path是否存在。
os.R_OK: 包含在access()的mode参数中 , 测试path是否可读。
os.W_OK 包含在access()的mode参数中 , 测试path是否可写。
os.X_OK 包含在access()的mode参数中 ,测试path是否可执行。
- 目录操作
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 os.mkdir(path,mode)创建一个文件夹 2 os.chdir(path)改变路径 3 os.getcwd()返回当前工作目录 4 os.listdir(path)#列出当前目录下的文件和目录 5 os.remove(path)删除文件 6 os.removedirs(path)递归删除目录 7 os.rename(src,dst)重命名 8 os.rmdirs(path)删除path指定的空目录
- 权限操作
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 os.chmod(path,mode)#更改文件权限 2 stat.S_IXOTH: 其他用户有执行权0o001 3 stat.S_IWOTH: 其他用户有写权限0o002 4 stat.S_IROTH: 其他用户有读权限0o004 5 stat.S_IRWXO: 其他用户有全部权限(权限掩码)0o007 6 stat.S_IXGRP: 组用户有执行权限0o010 7 stat.S_IWGRP: 组用户有写权限0o020 8 stat.S_IRGRP: 组用户有读权限0o040 9 stat.S_IRWXG: 组用户有全部权限(权限掩码)0o070 10 stat.S_IXUSR: 拥有者具有执行权限0o100 11 stat.S_IWUSR: 拥有者具有写权限0o200 12 stat.S_IRUSR: 拥有者具有读权限0o400 13 stat.S_IRWXU: 拥有者有全部权限(权限掩码)0o700 14 stat.S_ISVTX: 目录里文件目录只有拥有者才可删除更改0o1000 15 stat.S_ISGID: 执行此文件其进程有效组为文件所在组0o2000 16 stat.S_ISUID: 执行此文件其进程有效用户为文件所有者0o4000 17 stat.S_IREAD: windows下设为只读 18 stat.S_IWRITE: windows下取消只读 19 os.chown(path,uid,gid)#更改文件所属 20
- os.open(file,mode)打开一个文件
file -- 要打开的文件
flags -- 该参数可以是以下选项,多个使用 "|" 隔开:
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: 不追踪软链接
- os.poen() 方法用于从一个命令打开一个管道
command -- 使用的命令。
mode -- 模式权限可以是 'r'(默认) 或 'w'。
bufsize -- 指明了文件需要的缓冲大小:0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。
- os.state(path)返回文件属性
返回值
st_mode: inode 保护模式
st_ino: inode 节点号。
st_dev: inode 驻留的设备。
st_nlink: inode 的链接数。
st_uid: 所有者的用户ID。
st_gid: 所有者的组ID。
st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
st_atime: 上次访问的时间。
st_mtime: 最后一次修改的时间。
st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。
- os.write(),os.close()
os.write(fd, str)酱str写入文件
os.close(fd)关闭文件对象
- os.path
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 os.path.abspath(path) 2 返回文件绝对路径 3 os.path.basename(path) 4 返回路径中的文件名 5 os.path.dirname(path) 6 返回path的中的路径 7 os.path.exists(path) 8 判断文件或路径是否存在,不区分大小写 9 os.path.getatime(path) 10 返回最近访问时间(浮点型秒数) 11 os.path.getmtime(path) 12 返回最近文件修改时间 13 os.path.getctime(path) 14 返回文件 path 创建时间 15 os.path.getsize(path) 16 返回文件大小,如果文件不存在就返回错误 17 os.path.isabs(path) 18 判断是否为绝对路径 19 os.path.isfile(path) 20 判断路径是否为文件 21 os.path.join(path1[, path2[, ...]]) 22 把目录和文件名合成一个路径 23 os.path.samefile(path1, path2) 24 判断目录或文件是否相同 25 os.path.sameopenfile(fp1, fp2) 26 判断fp1和fp2是否指向同一文件 27 os.path.split(path) 28 把路径分割成 dirname 和 basename,返回一个元组 29 os.path.splitdrive(path) 30 一般用在 windows 下,返回驱动器名和路径组成的元组 31 os.path.splitext(path) 32 分割路径,返回路径名和文件扩展名的元组
path中常用的
- os.path.abspath(path)返回绝对路径
- os.path.basename(path)返回文件名
- os.path.dirname(path)返回路径
- os.path.exists(path)路径或文件是否存在
- os.path.getsize(path)获取文件大小
- os.path.isfile(path)是否为文件
- os.path.join(path1[, path2[, ...]]) 路径合并
https://docs.python.org/3/library/os.html?highlight=os