玖叶教程网

前端编程开发入门

python自动化运维-常用模块(os)

接上一篇:python自动化运维-基础语法之模块

python内置大量模块,相当于python的类库,运维常用到的有os,shutil,sys,io,time等.

今天要介绍的是最重要的os模块,os(operating system)提供操作系统基础功能,本文只介绍常用的一些方法。

  1. environ,环境变量map,如environ['HOME'],获取用户home目录, 另有操作环境变更的方法: os.getenv(key),os.putenv(key,value)。

  2. os.system(cmd),执行一条命令,如os.system("ls /usr"), 命令的输出同样会返回到当前输出设备, 但命令的返回值是命令的退出状态码。另有方法os.popen(cmd,mode='r', buffering=-1)从一个命令打开一个管道,也是执行一条命令,与os.system的区别是它的返命令执行的结果,popen已经在2.6版废除。这两个方法可在新的subprocess 模块中都有替换命令subprocess.call,Popen。

  3. os.access(path, mode),使用当前的用户检测路径是否可访问或具有某权限,结果返回 True or False。参数:
    path -- 要检测的路径;
    mode -- 检测模式,os.F_OK路径是否存在,os.R_OK是否可读 ,W_OK是否可写,X_OK是否可执行;

  4. os.chdir(path),改变当前工作目录,对应cd命令

  5. os.chmod(path, mode),更改文件或目录的权限,对应chmod命令。参数:
    path -- 文件名路径或目录路径
    flags -- 可用以下选项按位或操作生成。有多个选项,如:stat.S_IRUSR拥有者具有读权限,stat.S_IWUSR: 拥有者具有写权限,stat.S_IRWXU: 拥有者有全部权限等,多个使用多个使用 "|" 隔开,多选项较多比较难记,所以小篇习惯用os.system("chmod xxx")命令^_^。如果是链接文件请使用os.lchmod(path, mode)

  6. os.chown(path, uid, gid),更改文件拥有者,对应chown命令

  7. os.getcwd(),返回当前工作目录

  8. os.mkdir(path[, mode]),以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777

  9. os.makedirs(path, mode=0o777),递归创建目录

  10. os.remove(path),删除文件,如果path 是一个文件夹,将抛出OSError

  11. os.removedirs(path),递归删除目录

  12. os.renames(old, new),递归地对目录进行更名,也可以对文件进行更名

  13. os.open(file, flags[, mode]),打开一个文件,并且设置需要的打开选项,模式参数mode参数是可选的,默认为 0777,flags选项较多,如:os.O_RDONLY:以只读的方式打开,os.O_WRONLY: 以只写的方式打开,os.O_APPEND: 以追加的方式打开等具体查看官方文档。

  14. os.write(fd, str),写入字符串到文件描述符 fd中. 返回实际写入的字符串长度

  15. os.read(fd, n),从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串

  16. os.close(fd),关闭文件描述符 fd

以上是小篇在运维过程常用到的方法,可以看出其实大多方法都对应着操作系统的命令。

更详细请看官网文档https://docs.python.org/3/library/os.html

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言