2019-05-28 Python3 执行系统命令的三种方法

在Python3里执行系统命令的常用方法有三种:

1、os.system函数。这个函数不会返回运行结果,仅返回一个int类型的数值,Linux 返回值是执行命令的 exit 值,Window 返回值为执行命令后 shell 的返回值,所以没法进行后续处理。


屏幕快照 2019-05-29 01.16.31.png

2、os.popen函数。
执行命令后通过一个管道文件将结果返回。


屏幕快照 2019-05-29 01.22.51.png
屏幕快照 2019-05-29 01.19.31.png

再比如写到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)

屏幕快照 2019-05-29 01.21.02.png

3、subprocess模块。在Python3里取消了commands 模块,推荐使用subprocess模块
subprocess运用对线程的控制和监控,将返回的结果赋于一变量,便于程序的处理。有丰富的参数可以进行配置。官方文档请参考: https://docs.python.org/zh-cn/3/library/subprocess.html
运行示例:
屏幕快照 2019-05-29 01.26.04.png

你可能感兴趣的:(2019-05-28 Python3 执行系统命令的三种方法)