前言
python代码有需要从linux、win、类unix上获取终端的输出,这就需要使用到subprocess模块
使用示例
- 导入模块
pip3 install subprocess.run
# -*- coding: utf-8 -*-
import subprocess
import platform
def excuteCommand(command):
"""
获取命令行输出的信息
"""
subp = subprocess.Popen(command,
shell=True,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
encoding='utf-8')
# 当有命令终端输出时,返回输出,并编码成中文,否则,返回"failure"
if subp.poll() != 0:
return subp.stdout.read().decode("GB2312")
# return subp.stdout.read().decode("gbk")
else:
return "failure"
if __name__ == "__main__":
if "Linux" in platform.platform():
command = "ping -c 4 10.0.0.2"
else:
command = "ping 10.0.0.2"
getInfo = excuteCommand(command)
print(getInfo)
结语
Subprocess management
subprocess.DEVNULL
Python3 subprocess Runoob