在Python3里执行系统命令的常用方法有三种:
1、os.system函数。这个函数不会返回运行结果,仅返回一个int类型的数值,Linux 返回值是执行命令的 exit 值,Window 返回值为执行命令后 shell 的返回值,所以没法进行后续处理。
2、os.popen函数。
执行命令后通过一个管道文件将结果返回。
再比如写到ax_cp.py脚本里执行:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
s1 = os.popen("cp kea-dhcp6.conf kea-dhcp6.txt").read()
s2 = os.popen("ls -al kea-dhcp6.txt").read()
print(type(s1),s1, type(s2),s2)
3、subprocess模块。在Python3里取消了commands 模块,推荐使用subprocess模块
subprocess运用对线程的控制和监控,将返回的结果赋于一变量,便于程序的处理。有丰富的参数可以进行配置。官方文档请参考: https://docs.python.org/zh-cn/3/library/subprocess.html
运行示例: