1.os.access() 方法
os.access() 方法使用当前的uid/gid尝试访问路径。大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/sgid 环境尝试。
access()方法语法格式如下:
os.access(path, mode);
2.
os.chdir() 方法用于改变当前工作目录到指定的路径
chdir()方法语法格式如下:
os.chdir(path)
path -- 要切换到的新路径。
3.os.chflags() 方法
os.chflags() 方法用于设置路径的标记为数字标记。多个标记可以使用 OR 来组合起来。
只支持在 Unix 下使用。
chflags()方法语法格式如下:
os.chflags(path, flags)
4.os.chmod() 方法
os.chmod() 方法用于更改文件或目录的权限。
Unix 系统可用。
chmod()方法语法格式如下:
os.chmod(path, mode)
- stat.S_IXOTH: 其他用户有执行权0o001
- stat.S_IWOTH: 其他用户有写权限0o002
- stat.S_IROTH: 其他用户有读权限0o004
- stat.S_IRWXO: 其他用户有全部权限(权限掩码)0o007
- stat.S_IXGRP: 组用户有执行权限0o010
- stat.S_IWGRP: 组用户有写权限0o020
- stat.S_IRGRP: 组用户有读权限0o040
- stat.S_IRWXG: 组用户有全部权限(权限掩码)0o070
- stat.S_IXUSR: 拥有者具有执行权限0o100
- stat.S_IWUSR: 拥有者具有写权限0o200
- stat.S_IRUSR: 拥有者具有读权限0o400
- stat.S_IRWXU: 拥有者有全部权限(权限掩码)0o700
- stat.S_ISVTX: 目录里文件目录只有拥有者才可删除更改0o1000
- stat.S_ISGID: 执行此文件其进程有效组为文件所在组0o2000
- stat.S_ISUID: 执行此文件其进程有效用户为文件所有者0o4000
- stat.S_IREAD: windows下设为只读
- stat.S_IWRITE: windows下取消只读
- 5.os.chown() 方法
-
os.chown() 方法用于更改文件所有者,如果不修改可以设置为 -1, 你需要超级用户权限来执行权限修改操作。
只支持在 Unix 下使用。
-
chown()方法语法格式如下:
os.chown(path, uid, gid);
-
path -- 设置权限的文件路径
-
uid -- 所属用户 ID
-
gid -- 所属用户组 ID
6.os.chroot() 方法
os.chroot() 方法用于更改当前进程的根目录为指定的目录,使用该函数需要管理员权限。
在 unix 中有效。
chroot()方法语法格式如下:
os.chroot(path);
path -- 要设置为根目录的目录。
7.os.close() 方法
os.close() 方法用于关闭指定的文件描述符 fd。
close()方法语法格式如下:
os.close(fd);
fd -- 文件描述符。
8.os.closerange() 方法
os.closerange() 方法用于关闭所有文件描述符 fd,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略。
closerange()方法语法格式如下:
os.closerange(fd_low, fd_high);
-
fd_low -- 最小文件描述符
-
fd_high -- 最大文件描述符
9.os.dup() 方法
os.dup() 方法用于复制文件描述符 fd。
dup()方法语法格式如下:
os.dup(fd);
fd -- 文件描述符
10.os.dup2() 方法
os.dup2() 方法用于将一个文件描述符 fd 复制到另一个 fd2。
Unix, Windows 上可用。
dup2()方法语法格式如下:
os.dup2(fd, fd2);
-
fd -- 要被复制的文件描述符
-
fd2 -- 复制的文件描述符
11.os.fchdir() 方法
os.fchdir() 方法通过文件描述符改变当前工作目录。
Unix 上可用。
fchdir()方法语法格式如下:
os.fchdir(fd);
12.os.fchmod() 方法
os.fchmod() 方法用于改变一个文件的访问权限,该文件由参数fd指定,参数mode是Unix下的文件访问权限。
Unix上可用。
fchmod()方法语法格式如下:
os.fchmod(fd, mode);
13.os.fchown() 方法
os.fchown() 方法用于修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符fd指定。
Unix上可用。
fchown()方法语法格式如下:
os.fchown(fd, uid, gid)
-
fd -- 文件描述符
-
uid -- 文件所有者的用户id
-
gid -- 文件所有者的用户组id
14.os.fdatasync() 方法
os.fdatasync() 方法用于强制将文件写入磁盘,该文件由文件描述符fd指定,但是不强制更新文件的状态信息。如果你需要刷新缓冲区可以使用该方法。
datasync()方法语法格式如下:
os.fdatasync(fd);
15.
os.fdopen() 方法
os.fdopen() 方法用于通过文件描述符 fd 创建一个文件对象,并返回这个文件对象。
该方法是内置函数 open() 的别名,可以接收一样的参数,唯一的区别是 fdopen() 的第一个参数必须是整型
fdopen()方法语法格式如下:
os.fdopen(fd, [, mode[, bufsize]]);
16.os.fpathconf() 方法
os.fpathconf() 方法用于返回一个打开的文件的系统配置信息。
Unix上可用。
fpathconf()方法语法格式如下:
os.fpathconf(fd, name)
-
fd -- 打开的文件的描述符。
-
name -- 可选,和buffersize参数和Python内建的open函数一样,mode参数可以指定『r,w,a,r+,w+,a+,b』等,表示文件的是只读的还是可以读写的,以及打开文件是以二进制还是文本形式打开。这些参数和C语言中的<stdio.h>中fopen函数中指定的mode参数类似。
17.os.fstat() 方法
os.fstat() 方法用于返回文件描述符fd的状态,类似 stat()。
Unix,Windows上可用。
fstat 方法返回的结构:
-
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: 文件状态信息的修改时间(不是文件内容的修改时间)
-
fstat()方法语法格式如下:
os.fstat(fd)
18.os.fstatvfs() 方法
os.fstatvfs() 方法用于返回包含文件描述符fd的文件的文件系统的信息,Python 3.3 相等于 statvfs()。。
Unix上可用。
fstatvfs 方法返回的结构:
-
f_bsize: 文件系统块大小
-
f_frsize: 分栈大小
-
f_blocks: 文件系统数据块总数
-
f_bfree: 可用块数
-
f_bavail:非超级用户可获取的块数
-
f_files: 文件结点总数
-
f_ffree: 可用文件结点数
-
f_favail: 非超级用户的可用文件结点数
-
f_fsid: 文件系统标识 ID
-
f_flag: 挂载标记
-
f_namemax: 最大文件长度
fstatvfs()方法语法格式如下:
os.fstatvfs(fd)
19.os.fsync() 方法
os.fsync() 方法强制将文件描述符为fd的文件写入硬盘。在Unix, 将调用fsync()函数;在Windows, 调用 _commit()函数。
如果你准备操作一个Python文件对象f, 首先f.flush(),然后os.fsync(f.fileno()), 确保与f相关的所有内存都写入了硬盘.在unix,Windows中有效。
Unix、Windows上可用。
fsync()方法语法格式如下:
os.fsync(fd)
20.os.ftruncate() 方法
os.ftruncate() 裁剪文件描述符fd对应的文件, 它最大不能超过文件大小。
Unix上可用。
ftruncate()方法语法格式如下:
os.ftruncate(fd, length)¶
参数
-
fd -- 文件的描述符。
-
length -- 要裁剪文件大小。
21.os.getcwd() 方法
os.getcwd() 方法用于返回当前工作目录。
getcwd()方法语法格式如下:
os.getcwd()
22.os.isatty() 方法
os.isatty() 方法用于判断如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False。
isatty()方法语法格式如下:
os.isatty()
23.os.isatty() 方法
os.isatty() 方法用于判断如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False。
isatty()方法语法格式如下:
os.isatty()
24.os.lchflags() 方法
os.lchflags() 方法用于设置路径的标记为数字标记,类似 chflags(),但是没有软链接。
只支持在 Unix 下使用。
lchflags()方法语法格式如下:
os.lchflags(path, flags)
-
path -- 设置标记的文件路径
-
flags -- 可以由一个或多个标记组合,多个使用"|"隔开:
-
UF_NODUMP: 非转储文件
-
UF_IMMUTABLE: 文件是只读的
-
UF_APPEND: 文件只能追加内容
-
UF_NOUNLINK: 文件不可删除
-
UF_OPAQUE: 目录不透明,需要通过联合堆栈查看
-
SF_ARCHIVED: 可存档文件(超级用户可设)
-
SF_IMMUTABLE: 文件是只读的(超级用户可设)
-
SF_APPEND: 文件只能追加内容(超级用户可设)
-
SF_NOUNLINK: 文件不可删除(超级用户可设)
-
SF_SNAPSHOT: 快照文件(超级用户可设)
-
25.os.lchmod() 方法
os.lchmod() 方法用于修改连接文件权限。
只支持在 Unix 下使用。
lchmod()方法语法格式如下:
os.lchmod(path, mode)
-
path -- 设置标记的文件路径
-
mode -- 可以是以下一个或多个组成,多个使用 "|" 隔开:
-
stat.S_ISUID:设置 UID 位
-
stat.S_ISGID: 设置组 ID 位
-
stat.S_ENFMT: 系统文件锁定的执法行动
-
stat.S_ISVTX: 在执行之后保存文字和图片
-
stat.S_IREAD: 对于拥有者读的权限
-
stat.S_IWRITE: 对于拥有者写的权限
-
stat.S_IEXEC: 对于拥有者执行的权限
-
stat.S_IRWXU:对于拥有者读、写、执行的权限
-
stat.S_IRUSR: 对于拥有者读的权限
-
stat.S_IWUSR: 对于拥有者写的权限
-
stat.S_IXUSR: 对于拥有者执行的权限
-
stat.S_IRWXG: 对于同组的人读写执行的权限
-
stat.S_IRGRP: 对于同组读的权限
-
stat.S_IWGRP:对于同组写的权限
-
stat.S_IXGRP: 对于同组执行的权限
-
stat.S_IRWXO: 对于其他组读写执行的权限
-
stat.S_IROTH: 对于其他组读的权限
-
stat.S_IWOTH: 对于其他组写的权限
-
stat.S_IXOTH:对于其他组执行的权限
-
26.os.lchown() 方法
os.lchown() 方法用于更改文件所有者,类似 chown,但是不追踪链接。
只支持在 Unix 下使用。
lchown()方法语法格式如下:
os.lchown(path, uid, gid)
-
path -- 设置权限的文件路径
-
uid -- 所属用户 ID
-
gid -- 所属用户组 ID
27.os.link() 方法
os.link() 方法用于创建硬链接,名为参数 dst,指向参数 src。
该方法对于创建一个已存在文件的拷贝是非常有用的。
只支持在 Unix, Windows 下使用。
link()方法语法格式如下:
os.link(src, dst)
-
src -- 用于创建硬连接的源地址
-
dst -- 用于创建硬连接的目标地址
28.os.listdir() 方法
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.' 和'..' 即使它在文件夹中。
只支持在 Unix, Windows 下使用。
listdir()方法语法格式如下:
os.listdir(path)
29.os.lseek() 方法
os.lseek() 方法用于设置文件描述符 fd 当前位置为 pos, how 方式修改。
在Unix,Windows中有效。
lseek()方法语法格式如下:
os.lseek(fd, pos, how)
-
fd -- 文件描述符。
-
pos -- 这是相对于给定的参数 how 在文件中的位置。。
-
how -- 文件内参考位置。SEEK_SET 或者 0 设置从文件开始的计算的pos; SEEK_CUR或者 1 则从当前位置计算; os.SEEK_END或者2则从文件尾部开始。
30.os.major() 方法
os.major() 方法用于从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。
major()方法语法格式如下:
os.major(device)
device -- 原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。
31.os.major() 方法
os.major() 方法用于从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。
major()方法语法格式如下:
os.major(device)
device -- 原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。
32.os.makedev() 方法
os.makedev() 方法用于以major和minor设备号组成一个原始设备号。
makedev()方法语法格式如下:
os.makedev(major, minor)
-
major -- Major 设备号。
-
minor -- inor 设备号。
33.os.makedirs() 方法
os.makedirs() 方法用于递归创建目录。像 mkdir(), 但创建的所有intermediate-level文件夹需要包含子目录。
makedirs()方法语法格式如下:
os.makedirs(path, mode=0o777
34.os.minor() 方法
os.minor() 方法用于从原始的设备号中提取设备minor号码 (使用stat中的st_dev或者st_rdev field )。
minor()方法语法格式如下:
os.minor(device)
35.os.mkdir() 方法
os.mkdir() 方法用于以数字权限模式创建目录。默认的模式为 0777 (八进制)。
mkdir()方法语法格式如下:
os.mkdir(path[, mode])
-
path -- 要创建的目录
-
mode -- 要为目录设置的权限数字模式
36.os.mkfifo() 方法
os.mkfifo() 方法用于创建指令路径的管道,并设置权限模式。默认的模式为 0666 (八进制)。
mkfifo()方法语法格式如下:
os.mkfifo(path[, mode])
-
path -- 要创建的目录
-
mode -- 要为目录设置的权限数字模式
37.os.mknod() 方法
os.mknod() 方法用于创建一个指定文件名的文件系统节点(文件,设备特别文件或者命名pipe)。
mknod()方法语法格式如下:
os.mknod(filename[, mode=0600[, device=0]])
-
filename -- 创建的文件系统节点
-
mode -- mode指定创建或使用节点的权限, 组合 (或者bitwise) stat.S_IFREG, stat.S_IFCHR, stat.S_IFBLK, 和stat.S_IFIFO (这些常数在stat模块). 对于 stat.S_IFCHR和stat.S_IFBLK, 设备定义了 最新创建的设备特殊文件 (可能使用 os.makedev()),其它都将忽略。
-
device -- 可选,指定创建文件的设备
38.os.open() 方法
os.open() 方法用于打开一个文件,并且设置需要的打开选项,模式参数mode参数是可选的,默认为 0777。
open()方法语法格式如下:
os.open(file, flags[, 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: 不追踪软链接
39。os.openpty() 方法
os.openpty() 方法用于打开一个新的伪终端对。返回 pty 和 tty的文件描述符。
openpty()方法语法格式如下:
os.openpty()
40.os.pathconf() 方法
os.pathconf() 方法用于返回一个打开的文件的系统配置信息。
Unix 平台下可用。
fpathconf()方法语法格式如下:
os.fpathconf(fd, name)
-
fd -- 文件描述符
-
name -- 检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。一些平台也定义了一些额外的名字。这些名字在主操作系统上pathconf_names的字典中。对于不在pathconf_names中的配置变量,传递一个数字作为名字,也是可以接受的。
41.os.pipe() 方法
os.pipe() 方法用于创建一个管道, 返回一对文件描述符(r, w) 分别为读和写
pipe()方法语法格式如下:
os.pipe()
42.os.popen() 方法
os.popen() 方法用于从一个命令打开一个管道。
在Unix,Windows中有效
popen()方法语法格式如下:
os.popen(command[, mode[, bufsize]])
-
command -- 使用的命令。
-
mode -- 模式权限可以是 'r'(默认) 或 'w'。
-
bufsize -- 指明了文件需要的缓冲大小:0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。