- 使用os模块中的函数
os模块包含了许多与操作系统交互的接口,其中文件处理部分不再赘述,今天看一下其余方法。-
使用uname()获取系统信息
-
使用getuid()/getgid()获取用户id或用户组id
-
使用login()获得当前登陆用户
-
使用system()执行系统命令
-
使用popen()执行命令并获取输出或写入数据
popen帮助如下
使用popen时,由于指定r或w,所以通信是单向的
-
- 使用subprocess模块
- subprocess中的便利函数
- 使用call运行外部命令
call(args, *, stdin,stdout,stderr,shell=False)
args为命令组成的列表,shell为True时使用shell运行给出的命令,函数返回命令结果状态码,可以使用状态码判断命令是否执行成功
如果shell为True,可以使用一个字符串来执行命令,可以不用一个字符串列表
- 使用call运行外部命令
-
check_call()此函数与call函数相似,但命令执行失败时返回CalledProcessError异常
-
check_output()获取命令输出,返回类型为str
-
Popen类
当便利函数无法满足需求时,我们可以选择使用subprocess中的Popen类
使用方式与便利函数类似,shell设置为True时,默认shell为/bin/sh,执行的命令可以是字符串,也可以是字符串列表。Popen也提供了一些函数用来控制程序的执行
使用函数包装Popen
运行
- subprocess中的便利函数
网友评论