python3从零学习-5.6.1、os.py模块

源代码: Lib/os.py

进程:

os.environ

一个表示字符串环境的 mapping 对象。

os.environb

字节版本的 environ: 一个以字节串表示环境的mapping 对象。

os.getenv(key, default=None)

如果存在,返回环境变量 key 的值,否则返回 default。 key , default 和返回值均为 str 字符串类型。

os.getenvb(key, default=None)

如果存在环境变量 key 那么返回其值,否则返回 default。 key , default 和返回值均为bytes字节串类型。

os.get_exec_path(env=None)

返回将用于搜索可执行文件的目录列表,与在外壳程序中启动一个进程时相似。指定的 env 应为用于搜索 PATH 的环境变量字典。

os.getpid()

返回当前进程ID

os.getppid()返回父进程ID。当父进程已经结束,在Unix中返回的ID是初始进程(1)中的一个,在Windows中仍然是同一个进程ID,该进程ID有可能已经被进行进程所占用。os.strerror(code)根据 code 中的错误码返回错误消息。 在某些平台上当给出未知错误码时 strerror() 将返回 NULL 并会引发 ValueError。os.supports_bytes_environ如果操作系统上原生环境类型是字节型则为 True (例如在 Windows 上为 False)。os.umask(mask)设定当前数值掩码并返回之前的掩码。文件:

os.fdopen(fd, *args, **kwargs)

该函数创建新的文件对象。返回打开文件描述符 fd 对应文件的对象。类似内建 open() 函数,二者接受同样的参数。不同之处在于 fdopen() 第一个参数应该为整数。

os.close(fd)关闭文件描述符 fdos.closerange(fd_low, fd_high)关闭从 fd_low      (包括)到 fd_high      (排除)间的文件描述符,并忽略错误。os.device_encoding(fd)如果连接到终端,则返回一个与 fd  关联的设备描述字符,否则返回 None.os.fstat(fd)

获取文件描述符 fd 的状态. 返回一个 stat_result         对象。

从 Python 3.3 起,此功能等价于 os.stat(fd)。os.fsync(fd)

强制将文件描述符 fd  指向的文件写入磁盘。在 Unix,这将调用原生 fsync() 函数;在 Windows,则是 MS _commit() 函数。

如果要写入的是缓冲区内的 Python 文件对象 f,请先执行 f.flush(),然后执行 os.fsync(f.fileno()),以确保与 f 关联的所有内部缓冲区都写入磁盘。os.ftruncate(fd, length)将文件描述符 fd   对应的文件切分开,以使其最大为 length      字节。从 Python 3.3 开始,它等效于 os.truncate(fd, length)。os.isatty(fd)如果文件描述符 fd   打开且已连接至 tty 设备(或类 tty 设备),返回 True,否则返回 False。 os.lseek(fd, pos, how)将文件描述符 fd 的当前位置设置为 pos,位置的计算方式 how 如下:设置为 SEEK_SET        或 0 表示从文件开头计算,设置为 SEEK_CUR        或 1 表示从文件当前位置计算,设置为 SEEK_END        或 2 表示文件末尾计算。返回新指针位置,这个位置是从文件开头计算的,单位是字节。os.SEEK_SET、os.SEEK_CUR、os.SEEK_END lseek()      函数的参数,它们的值分别为 0、1 和 2。os.open(path, flags, mode=0o777, *, dir_fd=None)

打开文件 path,根据 flags     设置各种标志位,并根据 mode    设置其权限模式。当计算 mode    时,会首先根据当前 umask 值将部分权限去除。本方法返回新文件的描述符。

以下常量是 open() 函数 flags 参数的选项。可以用按位或运算符 | 将它们组合使用。部分常量并非在所有平台上都可用。

os.O_RDONLYos.O_WRONLYos.O_RDWRos.O_APPENDos.O_CREATos.O_EXCLos.O_TRUNC

上述常量在 Unix 和 Windows 上均可用。

os.O_DSYNCos.O_RSYNCos.O_SYNCos.O_NDELAYos.O_NONBLOCKos.O_NOCTTYos.O_CLOEXEC

上述常数仅在 Unix 系统中可用。

os.O_BINARYos.O_NOINHERITos.O_SHORT_LIVEDos.O_TEMPORARYos.O_RANDOMos.O_SEQUENTIALos.O_TEXT

上述常数仅在 Windows 系统中可用。

os.pipe()

创建一个管道,返回一对分别用于读取和写入的文件描述符 (r, w)。

os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)

使用真实的 uid/gid 测试对 path    的访问。请注意,大多数测试操作将使用有效的 uid/gid,因此可以在 suid/sgid 环境中运用此例程,来测试调用用户是否具有对 path    的指定访问权限。mode    为 F_OK    时用于测试 path    是否存在,也可以对 R_OK  、W_OK     和 X_OK    中的一个或多个进行“或”运算来测试指定权限。允许访问则返回 True,  否则返回 False.

os.F_OKos.R_OKos.W_OKos.X_OK

作为 access()       的 mode    参数的可选值,分别测试 path    的存在性、可读性、可写性和可执行性。

os.chdir(path)

将当前工作目录更改为 path 

os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)

将 path    的 mode 更改为其他由数字表示的 mode 。mode    可以用以下值之一,也可以将它们按位或组合起来:

stat.S_ISUID

stat.S_ISGID

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

os.getcwd()

返回表示当前工作目录的字符串。

os.getcwdb()返回表示当前工作目录的字节串 (bytestring)。os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)

创建一个指向 src 的硬链接,名为 dst。

os.listdir(path='.')

返回一个列表,该列表包含了 path    中所有文件与目录的名称。该列表按任意顺序排列,并且不包含特殊条目 '.' 和 '..',即使它们确实在目录中存在。

os.mkdir(path, mode=0o777, *, dir_fd=None)

创建一个名为 path    的目录,应用以数字表示的权限模式 mode 。


os.makedirs(name, mode=0o777, exist_ok=False)

递归目录创建函数。与 mkdir()      类似,但会自动创建到达最后一级目录所需要的中间目录。 

os.major(device)

提取主设备号,提取自原始设备号(通常是 stat 中的 st_dev 或 st_rdev 字段)。

os.minor(device)

提取次设备号,提取自原始设备号(通常是 stat 中的 st_dev 或 st_rdev 字段)。

os.makedev(major, minor)将主设备号和次设备号组合成原始设备号。

os.readlink(path, *, dir_fd=None)

返回一个字符串,为符号链接指向的实际路径。其结果可以是绝对或相对路径。如果是相对路径,则可用 os.path.join(os.path.dirname(path), result) 转换为绝对路径。

os.remove(path, *, dir_fd=None)

删除文件路径。如果path是一个目录,则会引发OSError。使用rmdir()删除目录。

在 Windows 上,尝试删除正在使用的文件会抛出异常。而在 Unix 上,虽然该文件的条目会被删除,但分配给文件的存储空间仍然不可用,直到原始文件不再使用为止。

os.removedirs(name)

递归删除目录。工作方式类似于 rmdir() ,   不同之处在于,如果成功删除了末尾一级目录,removedirs()          会尝试依次删除 path     中提到的每个父目录,直到抛出错误为止(但该错误会被忽略,因为这通常表示父目录不是空目录)。例如,os.removedirs('foo/bar/baz') 将首先删除目录 'foo/bar/baz',然后如果 'foo/bar' 和 'foo' 为空,则继续删除它们。如果无法成功删除末尾一级目录,则抛出 OSError       异常。

os.rmdir(path, *, dir_fd=None)

删除目录路径。仅当目录为空时才工作,否则会引发OSError。为了删除整个目录树,可以使用shutil.rmtree()。

os.stat(path, *, dir_fd=None, follow_symlinks=True)

获取文件或文件描述符的状态。在所给路径上执行等效于 stat() 系统调用的操作。path    可以是字符串类型,或bytes 类型,或打开的文件描述符。返回一个 stat_result         对象。

os.truncate(path, length)

截断 path    对应的文件,以使其最大为 length      字节大小。

os.utime(path, times=None, *, [ns, ]dir_fd=None, follow_symlinks=True)

设置文件 path    的访问时间和修改时间。

os.walk(top, topdown=True, onerror=None, followlinks=False)

生成目录树中的文件名,方式是按上->下或下->上顺序浏览目录树。对于以 top 为根的目录树中的每个目录(包括 top 本身),它都会生成一个三元组 (dirpath, dirnames, filenames)。

dirpath 是一个字符串,表示目录的路径。dirnames 是一个列表,内含 dirpath 中子目录的名称(不包括 '.' 和 '..' )。filenames 也是列表,内含 dirpath 中非目录文件的名称。注意,列表中的名称不包含路径部分。要获取 dirpath 中文件或目录的完整路径(从 top 起始),请执行 os.path.join(dirpath, name)。

进程管理:

os.kill(pid, sig)

将信号 sig   发送至进程 pid 。

os.popen(cmd, mode='r', buffering=-1)

打开一个管道,它通往 / 接受自命令 cmd。返回值是连接到管道的文件对象,根据 mode    是 'r' (默认)还是 'w' 决定该对象可以读取还是写入。

os.system(command)

在子 shell 中执行命令(字符串)

os.times()

返回当前的全局进程时间。返回值是一个有 5 个属性的对象:

user - 用户时间

system -   系统时间

children_user - 所有子进程的用户时间

children_system - 所有子进程的系统时间

elapsed - 从过去的固定时间点起,经过的真实时间

os.cpu_count()

返回系统的 CPU 数量。不确定则返回 None。

os.getrandom(size, flags=0)

获得最多为 size    的随机字节。本函数返回的字节数可能少于请求的字节数。

这些字节可用于为用户空间的随机数生成器提供种子,或用于加密目的。

os.urandom(size)

返回大小为 size    的字符串,它是适合加密使用的随机字节。

本函数从系统指定的随机源获取随机字节。对于加密应用程序,返回的数据应有足够的不可预测性,尽管其确切的品质取决于操作系统的实现。

你可能感兴趣的:(python3从零学习-5.6.1、os.py模块)