• 第12.1节 Python os模块导览


    os 模块提供了许多与操作系统交互的函数,一定要使用 import os 而不是 from os import * ,这将避免内建的 open() 函数被 os.open() 隐式替换掉,它们的使用方式大不相同。具体二者的差别请参考《Python文件操作函数os.open、io.open、内置函数open之间的关系》。
    该模块提供了一些方便使用操作系统相关功能的函数。 如果你是想读写一个文件,请参阅 open(),如果你想操作路径,请参阅 os.path 模块,如果你想在命令行上读取所有文件中的所有行请参阅 fileinput 模块。 有关创建临时文件和目录的方法,请参阅 tempfile 模块,对于高级文件目录处理,请参阅 shutil 模块。

    os模块的部分重要成员:

    1. exception os.error:内建的 OSError 异常的一个别名。
    2. os.name:导入的依赖特定操作系统的模块的名称。以下名称目前已注册: ‘posix’, ‘nt’, ‘java’.
    3. os.environ:一个表示字符串环境的 mapping 对象,返回操作系统的环境变量及其值
    4. os.putenv(key, value),将名为 key 的环境变量值设置为 value。该变量名修改会影响由 os.system(), popen() ,fork() 和 execv() 发起的子进程
    5. os.chdir(path):改变系统的当前工作目录
    6. os.getcwd():返回当前工作目录
    7. os.getenv(key, default=None),返回环境变量 key 的值,key不存在则返回 default对应的值
    8. os.getpid():返回当前进程ID
    9. os.getlogin():返回当前登录用户名
    10. os.strerror(code):根据 code 中的错误码返回错误消息。 在某些平台上当给出未知错误码时 strerror() 将返回 NULL 并会引发 ValueError
    11. os.unsetenv(key):取消设置(删除)名为 key 的环境变量。变量名的改变会影响由 os.system(),popen(),fork() 和 execv() 触发的子进程。
    12. os.fdopen(fd, *args, **kwargs):返回打开文件描述符 fd 对应文件的对象。类似内建 open() 函数,二者接受同样的参数。不同之处在于 fdopen() 第一个参数应该为整数。文件描述符是一些小的整数,对应于当前进程所打开的文件。例如,标准输入的文件描述符通常是0,标准输出是1,标准错误是2。之后被进程打开的文件的文件描述符会被依次指定为3,4,5等。“文件描述符”这个词有点误导性,在 Unix 平台中套接字和管道也被文件描述符所引用。
    13. 当需要时,可以用 fileno() 可以获得 file object 所对应的文件描述符。需要注意的是,直接使用文件描述符会绕过文件对象的方法,会忽略如数据内部缓冲等情况。
    14. os.close(fd):关闭文件描述符 fd。该功能适用于低级 I/O 操作,必须用于 os.open() 或 pipe() 返回的文件描述符。
    15. os.dup(fd):返回一个文件描述符 fd 的副本。该文件描述符的副本是 不可继承的。在 Windows 中,当复制一个标准流(0: stdin, 1: stdout, 2: stderr)时,新的文件描述符是 可继承的。
    16. os.dup2(fd, fd2, inheritable=True)文件描述符 fd 复制为 fd2,必要时先关闭后者。返回 fd2。新的文件描述符默认是 可继承的,除非在 inheritable 为 False 时,是不可继承的。
    17. os.fsync(fd):强制将文件描述符fd的文件写入存储,如果文件是内建函数open打开的文件对象并开启了缓冲,则需要先调用文件对象的flush函数刷新缓冲再调用本函数;
    18. os.ftruncate(fd, length):将文件长截断为指定长度,length不能超过文件本身的长度
    19. os.lseek(fd, pos, how):文件定位函数
    20. os.open(path, flags, mode=0o777, *, dir_fd=None):文件打开函数
    21. os.pipe():创建管道用于进行读写,返回一个用于读和写的文件描述符对;
    22. os.sendfile(out, in, offset, count):从文件描述符in对应文件的offset位置拷贝最多count字节到文件描述符out对应文件,不到count字节时遇到in文件结束则终止,windows不支持
    23. os.write(fd, str):写入文件
    24. os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True):验证路径是否可读、写、执行
    25. os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True):改变文件的权限
    26. os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True):改变文件的属主
    27. os.listdir(path=’.’):列出目录内的内容
    28. os.mkdir(path, mode=0o777, *, dir_fd=None):创建新目录
    29. os.remove(path, *, dir_fd=None):删除文件
    30. os.removedirs(name):递归删除目录,目录必须为空
    31. os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None):文件或目录改名
    32. os.renames(old, new):文件和目录递归改名,这个老猿暂时没弄明白
    33. os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None):将文件或目录从src改为dst
    34. os.rmdir(path, *, dir_fd=None):删除目录
    35. os.scandir(path=’.’):返回一个path对应目录的os.DirEntry迭代器
    36. os.stat(path, *, dir_fd=None, follow_symlinks=True):返回文件的状态
    37. os.sync():强制写入所有缓存到磁盘,windows不可用
    38. os.truncate(path, length):将文件截断到指定长度
    39. os.startfile(path[, operation]):使用关联应用启动指定的文件,仅windows可用
    40. os.system(command):执行指定的操作系统命令

    老猿Python,跟老猿学Python!
    博客地址:https://blog.csdn.net/LaoYuanPython

    请大家多多支持,点赞、评论和加关注!谢谢!

  • 相关阅读:
    java 单例模式-饿懒汉模式
    Java注解
    Java集合
    Java数据类型
    java实现多线程三种方法
    Java并发 线程池
    spring ioc(反转控制)
    事件驱动的Java框架
    js 标签属性与导航
    input 标签和a标签实现超链接的区别
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643604.html
Copyright © 2020-2023  润新知