os模块

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设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值