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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容