os 模块提供了许多与操作系统交互的函数,一定要使用 import os 而不是 from os import * ,这将避免内建的 open() 函数被 os.open() 隐式替换掉,它们的使用方式大不相同。具体二者的差别请参考《Python文件操作函数os.open、io.open、内置函数open之间的关系》。
该模块提供了一些方便使用操作系统相关功能的函数。 如果你是想读写一个文件,请参阅 open(),如果你想操作路径,请参阅 os.path 模块,如果你想在命令行上读取所有文件中的所有行请参阅 fileinput 模块。 有关创建临时文件和目录的方法,请参阅 tempfile 模块,对于高级文件目录处理,请参阅 shutil 模块。
os模块的部分重要成员:
- exception os.error:内建的 OSError 异常的一个别名。
- os.name:导入的依赖特定操作系统的模块的名称。以下名称目前已注册: ‘posix’, ‘nt’, ‘java’.
- os.environ:一个表示字符串环境的 mapping 对象,返回操作系统的环境变量及其值
- os.putenv(key, value),将名为 key 的环境变量值设置为 value。该变量名修改会影响由 os.system(), popen() ,fork() 和 execv() 发起的子进程
- os.chdir(path):改变系统的当前工作目录
- os.getcwd():返回当前工作目录
- os.getenv(key, default=None),返回环境变量 key 的值,key不存在则返回 default对应的值
- os.getpid():返回当前进程ID
- os.getlogin():返回当前登录用户名
- os.strerror(code):根据 code 中的错误码返回错误消息。 在某些平台上当给出未知错误码时 strerror() 将返回 NULL 并会引发 ValueError
- os.unsetenv(key):取消设置(删除)名为 key 的环境变量。变量名的改变会影响由 os.system(),popen(),fork() 和 execv() 触发的子进程。
- os.fdopen(fd, *args, **kwargs):返回打开文件描述符 fd 对应文件的对象。类似内建 open() 函数,二者接受同样的参数。不同之处在于 fdopen() 第一个参数应该为整数。文件描述符是一些小的整数,对应于当前进程所打开的文件。例如,标准输入的文件描述符通常是0,标准输出是1,标准错误是2。之后被进程打开的文件的文件描述符会被依次指定为3,4,5等。“文件描述符”这个词有点误导性,在 Unix 平台中套接字和管道也被文件描述符所引用。
- 当需要时,可以用 fileno() 可以获得 file object 所对应的文件描述符。需要注意的是,直接使用文件描述符会绕过文件对象的方法,会忽略如数据内部缓冲等情况。
- os.close(fd):关闭文件描述符 fd。该功能适用于低级 I/O 操作,必须用于 os.open() 或 pipe() 返回的文件描述符。
- os.dup(fd):返回一个文件描述符 fd 的副本。该文件描述符的副本是 不可继承的。在 Windows 中,当复制一个标准流(0: stdin, 1: stdout, 2: stderr)时,新的文件描述符是 可继承的。
- os.dup2(fd, fd2, inheritable=True)文件描述符 fd 复制为 fd2,必要时先关闭后者。返回 fd2。新的文件描述符默认是 可继承的,除非在 inheritable 为 False 时,是不可继承的。
- os.fsync(fd):强制将文件描述符fd的文件写入存储,如果文件是内建函数open打开的文件对象并开启了缓冲,则需要先调用文件对象的flush函数刷新缓冲再调用本函数;
- os.ftruncate(fd, length):将文件长截断为指定长度,length不能超过文件本身的长度
- os.lseek(fd, pos, how):文件定位函数
- os.open(path, flags, mode=0o777, *, dir_fd=None):文件打开函数
- os.pipe():创建管道用于进行读写,返回一个用于读和写的文件描述符对;
- os.sendfile(out, in, offset, count):从文件描述符in对应文件的offset位置拷贝最多count字节到文件描述符out对应文件,不到count字节时遇到in文件结束则终止,windows不支持
- os.write(fd, str):写入文件
- os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True):验证路径是否可读、写、执行
- os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True):改变文件的权限
- os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True):改变文件的属主
- os.listdir(path=’.’):列出目录内的内容
- os.mkdir(path, mode=0o777, *, dir_fd=None):创建新目录
- os.remove(path, *, dir_fd=None):删除文件
- os.removedirs(name):递归删除目录,目录必须为空
- os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None):文件或目录改名
- os.renames(old, new):文件和目录递归改名,这个老猿暂时没弄明白
- os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None):将文件或目录从src改为dst
- os.rmdir(path, *, dir_fd=None):删除目录
- os.scandir(path=’.’):返回一个path对应目录的os.DirEntry迭代器
- os.stat(path, *, dir_fd=None, follow_symlinks=True):返回文件的状态
- os.sync():强制写入所有缓存到磁盘,windows不可用
- os.truncate(path, length):将文件截断到指定长度
- os.startfile(path[, operation]):使用关联应用启动指定的文件,仅windows可用
- os.system(command):执行指定的操作系统命令
老猿Python,跟老猿学Python!
博客地址:https://blog.csdn.net/LaoYuanPython
请大家多多支持,点赞、评论和加关注!谢谢!