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

78 篇文章 1 订阅
78 篇文章 0 订阅

源代码: 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)

关闭文件描述符 fd

os.closerange(fd_lowfd_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(fdlength)

将文件描述符 fd   对应的文件切分开,以使其最大为 length      字节。

从 Python 3.3 开始,它等效于 os.truncate(fd, length)。

os.isatty(fd)

如果文件描述符 fd   打开且已连接至 tty 设备(或类 tty 设备),返回 True,否则返回 False。 

os.lseek(fdposhow)

将文件描述符 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(pathflagsmode=0o777*dir_fd=None)

打开文件  path,根据  flags     设置各种标志位,并根据  mode    设置其权限模式。当计算  mode    时,会首先根据当前 umask 值将部分权限去除。本方法返回新文件的描述符。
以下常量是  open()  函数  flags  参数的选项。可以用按位或运算符  |  将它们组合使用。部分常量并非在所有平台上都可用。

os.O_RDONLY

os.O_WRONLY

os.O_RDWR

os.O_APPEND

os.O_CREAT

os.O_EXCL

os.O_TRUNC

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

os.O_DSYNC

os.O_RSYNC

os.O_SYNC

os.O_NDELAY

os.O_NONBLOCK

os.O_NOCTTY

os.O_CLOEXEC

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

os.O_BINARY

os.O_NOINHERIT

os.O_SHORT_LIVED

os.O_TEMPORARY

os.O_RANDOM

os.O_SEQUENTIAL

os.O_TEXT

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

os.pipe()

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

os.access(pathmode*dir_fd=Noneeffective_ids=Falsefollow_symlinks=True)

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

os.F_OK

os.R_OK

os.W_OK

os.X_OK

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

os.chdir(path)

将当前工作目录更改为  path 
 

os.chmod(pathmode*dir_fd=Nonefollow_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(srcdst*src_dir_fd=Nonedst_dir_fd=Nonefollow_symlinks=True)

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

os.listdir(path='.')

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

os.mkdir(pathmode=0o777*dir_fd=None)

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

os.makedirs(namemode=0o777exist_ok=False)

递归目录创建函数。与 mkdir()      类似,但会自动创建到达最后一级目录所需要的中间目录。 
 
os. major ( device )
提取主设备号,提取自原始设备号(通常是  stat  中的  st_dev  或  st_rdev  字段)。
 
os. minor ( device )
提取次设备号,提取自原始设备号(通常是  stat  中的  st_dev  或  st_rdev  字段)。

 

os.makedev(majorminor)

将主设备号和次设备号组合成原始设备号。

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=Nonefollow_symlinks=True)

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

os.truncate(pathlength)

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

os.utime(pathtimes=None*[ns]dir_fd=Nonefollow_symlinks=True)

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

os.walk(toptopdown=Trueοnerrοr=Nonefollowlinks=False)

生成目录树中的文件名,方式是按上->下或下->上顺序浏览目录树。对于以 top 为根的目录树中的每个目录(包括 top 本身),它都会生成一个三元组 (dirpath, dirnames, filenames)。
dirpath 是一个字符串,表示目录的路径。dirnames 是一个列表,内含 dirpath 中子目录的名称(不包括 '.' 和 '..' )。filenames 也是列表,内含 dirpath 中非目录文件的名称。注意,列表中的名称不包含路径部分。要获取 dirpath 中文件或目录的完整路径(从 top 起始),请执行 os.path.join(dirpath, name)。
 
进程管理:

os.kill(pidsig)

将信号  sig   发送至进程  pid 
 

os.popen(cmdmode='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(sizeflags=0)

获得最多为  size    的随机字节。本函数返回的字节数可能少于请求的字节数。
这些字节可用于为用户空间的随机数生成器提供种子,或用于加密目的。
 

os.urandom(size)

返回大小为  size    的字符串,它是适合加密使用的随机字节。
本函数从系统指定的随机源获取随机字节。对于加密应用程序,返回的数据应有足够的不可预测性,尽管其确切的品质取决于操作系统的实现。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值