目录
1、access()
检验权限模式;
os.access(path, mode)
path:要用来检测是否有访问权限的路径;
mode:包含以下几种参数形式:
- os.F_OK:测试 path 是否存在;
- os.R_OK:测试 path 是否可读;
- os.W_OK:测试 path 是否可写;
- os.X_OK:测试 path 是否可执行;
测试结果为真,返回 True,否则返回 False;
2、chdir
改变当前工作目录到指定的新路径;
os.chdir(path)
path:新路径;
3、close
关闭指定的文件描述符;
fd = os.open(path)
os.close(fd)
fd:文件描述符;
4、closerange
关闭所有文件描述符;
os.closerange(fd_low, fd_high)
fd_low:最小文件描述符(包含);
fd_high:最大文件描述符(不包含);
5、dup
复制文件描述符,并将复制的文件描述符返回;
os.dup(fd)
fd:文件描述符;
6、dup2
将一个文件描述符 fd 复制到 fd2;
os.dup2(fd, fd2)
fd:被复制的文件描述符;
fd2:复制的文件描述符;
7、fstat
返回文件描述符 fd 的状态;
os.fstat(fd)
返回结构如下:
- st_dev:设备信息;
- st_ino:文件的 i-node 值;
- st_mode:文件信息的掩码(包含权限信息、类型信息);
- st_nlink:硬连接数;
- st_uid:用户 ID;
- st_gid:用户组 ID;
- st_rdev:设备 ID;
- st_size:文件大小(byte);
- st_blksize:系统 I/O 快大小;
- st_blocks:文件由多少个512 byte 的快构成;
- st_atime:文件最近的访问时间;
- st_mtime:文件最近的修改时间;
- st_ctime:文件状态信息的修改时间;
8、fsync
强制将文件描述符为 fd 的文件写入硬盘;
os.fsync(fd)
9、getcwd
返回当前工作目录;
os.getcwd()
10、getcedu
返回一个当前工作目录的 Unicode 对象;
os.getcwdu()
11、isatty
如果文件描述符 fd 时打开的,同时与 tty(-like) 设备相连,则返回 True,否则返回 False;
os.isatty(fd)
12、link
创建硬链接;
os.link(src, dst)
src:用于创建硬链接的源地址;
dst:用于创建硬链接的目标地址;
13、listdir
返回指定的文件夹包含的文件或文件夹的名字的列表;
os.listdir(path)
path:需要列出的目录途径;
14、lseek
设置文件描述符当前位置;
os.lseek(fd, pos, how)
fd:文件描述符;
pos:相对于给定的参数 how 在文件中的位置;
how:文件内参考位置(SEEK_SET 或 0 设置从文件开始计算pos,SEEK_CUR 或 1 设置当前位置计算,SEEK_END 或 2 设置从文件尾部开始计算);
15、makedev
以 major 和 minor 设备号组成一个原始设备号;
os.makedev(major, minor)
major:major 设备号;
minor:minor 设备号;
返回设备号;
16、makedirs
递归创建目录(创建的所有 intermediate-level 文件夹需要包含子目录);
os.makedirs(path, mode=0o777)
path:需要递归创建的目录;
mode:创建模式;
17、mkfifo
创建指定路径的管道,并设置权限模式(默认模式为O666(八进制));
os.mkfifo(path[, mode])
path:要创建的目录;
mode:要为目录设置的权限数字模式;
18、mknod
创建一个指定文件名的文件系统节点;
os.mknod(filename[, mode=0600[, device=0]])
filename:创建的文件系统节点;
mode:指定创建或使用节点的权限;
device:可选,指定创建文件的设备;
19、openpty
打开一个新的伪终端对,返回 pty 和 tty 的描述符;
os.openpty()
20、pipe
创建一个管道,返回一对文件描述符 (r, w),分别为读、写;
os.pipe()
21、read
从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串(fd 对应文件已到达结尾,则返回一个空字符串);
os.read(fd, n)
fd:文件描述符;
n:读取的字节;
22、remove
用于删除指定路径的文件(如果指定路径是一个目录,将抛出OSError);
os.remove(path)
path:要移除的文件路径;
23、removedirs
递归删除目录(如果子文件夹成功删除,才尝试它的父文件夹,直到抛出 error);
os.removedirs(path)
path:要移除的目录路径;
24、rename
用于命名文件或目录,从 src 到 dst,如果 dst 是一个存在的目录,将抛出 OSError;
os.rename(src, dst)
src:要修改的目录名;
dst:修改后的目录名;
25、rmdir
删除指定路径的空目录,非空则抛出 OSError;
os.rmdir(path)
path:要删除的目录路径;
26、stat_float_times
用于决定 stat_result 是否以 float 对象显示时间戳;
os.stat_float_times([newvalue])
newvalue:若为 True,调用 stat() 返回floats;若为 False,调用 stat 返回 ints;若无参数,返回当前位置;
27、statvfs
返回包含文件描述符 fd 的文件的文件系统信息;
os.statvfs([path])
path:文件路径;
返回的结构如下:
- f_bsize:文件系统块大小;
- f_frsize:分栈大小;
- f_blocks:文件系统数据块总数;
- f_bfree:可用块数;
- f_bavail:非超级用户可获取的块数;
- f_files:文件节点总数;
- f_ffree:可用文件节点数;
- f_favail:非超级用户的可用文件节点数;
- f_fsid:文件系统标识 ID;
- f_flag:挂载标记;
- f_namemax:最大文件长度;
28、tcgetpgrp
返回与终端 fd 关联的进程组;
os.tcgetpgrp(fd)
fd:文件描述符;
29、tcsetpgrp
设置与终端 fd 关联的进程组为 pg;
os.tcsetpgrp(fd, pg)
30、ttyname
返回一个字符串,它表示与文件描述符 fd 关联的终端设备(若 fd 没有与终端设备关联,则引发一个异常);
os.ttyname(fd)
31、unlink
删除文件(若文件是一个目录,则返回错误);
os.unlink(path)
path:删除文件的路径;
32、utime
设置指定路径文件最后的修改和访问时间;
os.utime(path, times)
path:文件路径;
times:如果时间是 None,则文件的访问和修改设置为当前时间,否则,时间是一个 2-tuple 数字(atime, mtime)用来分别作为访问和修改时间;
33、walk
创建一个生成器,用以生成所要查找的目录及其子目录下的所有文件;
os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
top:根目录下的每一个文件夹(包含它自己),产生 3-tuple (dirpath(文件夹路径), dirnames(文件夹名字), filenames(文件名));
topdown:可选:
- 为 True 时(默认),一个目录的 3-tuple 将比它的任何子文件夹的 3-tuple 先产生(目录自上而下);
- 为 False 时,一个目录的 3-tuple 将比它的任何子文件夹的 3-tuple 后产生(目录自下而上);
onerror:可选,是一个函数,调用时有一个参数,一个 OSError 实例(报这个错后继续 walk,或抛出 exception 终止 walk);
followlinks:为 True,则通过软连接访问目录;
34、path
用于获取文件的属性;
os.path.abspath(path) | 返回绝对路径; |
os.path.basename(path) | 返回文件名; |
os.path.commonprefix(list) | 返回 list 中所有 path 共有的最长的路径; |
os.path.dirname(path) | 返回文件路径; |
os.path.exists(path) | 路径存在返回 True,否则返回 False; |
os.path.lexists | 路径存在或损坏均返回 True; |
os.path.expanduser(path) | 把 path 中包含的 ‘~’ 和 ‘~user’ 转换成用户目录; |
os.path.getatime(path) | 返回最近访问的时间(浮点型秒数); |
os.path.getmtime(path) | 返回最近文件修改时间; |
os.path.getctime(path) | 返回文件 path 创建时间; |
os.path.getsize(path) | 返回文件大小,若文件不存在返回错误; |
os.path.isabs(path) | 判断是否为绝对路径; |
os.path.isfile(path) | 判断路径是否为文件; |
os.path.isdir(path) | 判断路径是否为目录; |
os.path.islink(path) | 判断路径是否为连接; |
os.path.ismount(path) | 判断路径是否为挂载点; |
os.path.join(path1[, path2[, ...]]) | 把目录和文件名合成一个路径; |
os.path.normcase(path) | 转换 path 的大小写和斜杠; |
os.path.normpath(path) | 规范 path 字符串形式; |
os.path.realpath(path) | 返回 path 的真实路径; |
os.path.relpath(path[, start]) | 从 start 开始计算相对路径; |
os.path.samefile(path1, path2) | 判断目录或文件是否相同; |
os.path.sameopenfile(fp1, fp2) | 判断 fp1 和 fp2 是否指向同一文件; |
os.path.samestat(stat1, stat2) | 判断 stat tuple stat1 和 stat2 是否指向同一文件; |
os.path.split(path) | 把路径分割成 dirname 和 basename,返回一个元组; |
os.path.splitdrive(path) | 返回驱动器名和路径组成的元组; |
os.path.splitext(path) | 分割路径,返回路径名和文件扩展名的元组; |
os.path.splitunc(path) | 把路径分割为加载点和文件; |
os.path.walk(path, visit, arg) | 遍历 path,进入每个目录都调用 visit 函数,visit 函数必须有3个参数(arg, dirname, names),dirname 表示当前目录的目录名,names 表示当前目录下的所有文件名,args 为 walk 的第三个参数; |
os.path.supports_unicode_filenames | 设置是否支持 unicode 路径名; |
Reference:https://www.runoob.com/python3/python3-os-file-methods.html