python简单几步获取各种DOS命令显示的内容详解流程

yizhihongxing

获取DOS命令输出内容是Python程序开发中常见需求,以下是Python简单几步获取各种DOS命令显示的内容的详解流程:

步骤一:导入subprocess模块

Python可以通过subprocess模块来执行操作系统命令,从而实现获取DOS命令输出内容的目的。因此在程序开发之前,需要先导入subprocess模块。

import subprocess

步骤二:使用subprocess.Popen方法执行DOS命令

使用subprocess.Popen方法执行DOS命令的语法如下:

subprocess.Popen(args, bufsize=-1, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=True, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)
  • args:要执行的DOS命令,可以是单个命令或多个命令,以空格分隔。
  • shell:是否在一个新的shell环境下执行命令。若为True,则相当于在命令行中执行该命令。
  • stdout:要输出的结果保存到哪个文件。
  • stderr:要输出的错误信息保存到哪个文件。

示例一:获取dir命令的输出内容

import subprocess

# 执行dir命令
result = subprocess.Popen('dir', stdout=subprocess.PIPE, shell=True)

# 读取输出内容
output = result.stdout.read()

# 输出结果
print(output)

示例二:获取ipconfig命令的输出内容

import subprocess

# 执行ipconfig命令
result = subprocess.Popen('ipconfig', stdout=subprocess.PIPE, shell=True)

# 读取输出内容
output = result.stdout.read()

# 输出结果
print(output)

执行结果如下:

b'Windows IP Configuration\r\n\r\nEthernet adapter Ethernet:\r\n\r\n   Media State . . . . . . . . . . . : Media disconnected\r\n   Connection-specific DNS Suffix  . :\r\n\r\nWireless LAN adapter WiFi:\r\n\r\n   Connection-specific DNS Suffix  . :\r\n   Link-local IPv6 Address . . . . . : fe80::dd4:433f:7337:7995%7\r\n   IPv4 Address. . . . . . . . . . . : 192.168.1.100\r\n   Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n   Default Gateway . . . . . . . . . : 192.168.1.1\r\n\r\nEthernet adapter Bluetooth Network Connection:\r\n\r\n   Media State . . . . . . . . . . . : Media disconnected\r\n   Connection-specific DNS Suffix  . :\r\n'

步骤三:解码字节串

通过上面的示例可知,获取DOS命令的输出内容是一个字节串,需要解码得到字符串。通常情况下,DOS命令的输出内容使用的是系统默认的编码格式GB2312(在Windows中,可能是GBK或GB18030等)。因此,可以使用decode方法将字节串转换为字符串,并指定编码格式为GB2312。

示例三:获取ping命令的输出内容

import subprocess

# 执行ping命令
result = subprocess.Popen('ping www.baidu.com', stdout=subprocess.PIPE, shell=True)

# 读取输出内容
output = result.stdout.read()

# 输出结果
print(output.decode('gb2312'))

执行结果如下:

正在 Ping www.a.shifen.com [39.156.69.79] 具有 32 字节的数据:
来自 39.156.69.79 的回复: 字节=32 时间=24ms TTL=55
来自 39.156.69.79 的回复: 字节=32 时间=28ms TTL=55
来自 39.156.69.79 的回复: 字节=32 时间=26ms TTL=55
来自 39.156.69.79 的回复: 字节=32 时间=22ms TTL=55

39.156.69.79 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以最短值为准):
    最短 = 22ms,最长 = 28ms,平均 = 25ms

至此,Python简单几步获取各种DOS命令显示的内容的详解流程结束。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python简单几步获取各种DOS命令显示的内容详解流程 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • 在 Python 中利用Pool 进行多处理

    使用 multiprocessing.Pool 可以在 Python 中方便的进行多进程处理。下面是完整的攻略: 什么是 multiprocessing.Pool? multiprocessing.Pool 是 Python 中的一个标准模块,可用于在多个进程之间分配可执行的任务。 Pool 提供了一种使用简单的接口,用于实现并行执行计算密集型或 I/O 密…

    python 2023年5月19日
    00
  • Python OpenCV识别行人入口进出人数统计

    Python OpenCV识别行人入口进出人数统计是一个相对复杂的项目,主要包括以下几个步骤: 1.采集视频数据 首先需要采集视频数据,以提供识别和统计的基础。可以使用电子商务平台上的摄像头,也可以在现实中安装专用监控设备。此处可以使用OpenCV自带的视频捕获功能来读取本地视频文件或者IP摄像头的视频流。 2.使用Haar特征级联检测器进行对象检测 在视频…

    python 2023年6月6日
    00
  • python字符串的一些常见实用操作

    关于“Python字符串的一些常见实用操作”的攻略共分为以下几个方面: 1. 创建字符串 Python中的字符串可以通过单引号、双引号或三引号来创建,其中三引号可以用于创建多行字符串。 示例1:使用单引号和双引号创建字符串 str1 = ‘Hello World’ str2 = "Hello World" print(str1) # 输出…

    python 2023年6月5日
    00
  • 学习Python,你还不知道main函数吗

    学习 Python,你还不知道 main 函数吗? 在 Python 中,main 函数是一个特殊的函数,它通常用于测试和运行代码。main 函数是 Python 程序的入口点,即程序从哪里开始执行。 为什么要使用 main 函数? 使用 main 函数可以在测试时方便地运行您的代码,也可以增加代码的可读性。将代码封装在 main 函数中,能够使它更加易于理…

    python 2023年6月3日
    00
  • python 实现一个简单的线性回归案例

    我将给你详细讲解“python 实现一个简单的线性回归案例”的完整攻略,其中包括以下内容: 线性回归的概念和原理 实现步骤 示例说明 线性回归的概念和原理 线性回归是一种广泛应用于统计学和机器学习中的基本技术。其主要思想是在输入变量与输出变量之间建立一个线性关系模型,通过最小化目标函数,以求出最佳的回归系数从而建立起线性模型。 线性回归算法的目标是最小化误差…

    python 2023年5月19日
    00
  • Python fire模块(最简化命令行生成工具)的使用教程详解

    Python fire模块的使用教程详解 什么是Python fire模块? Python fire是一个通用的命令行生成工具,通过导入模块就可以将任意的Python对象转换成命令行接口。使用Python fire,我们可以通过命令行来调用Python代码,而不需要重新编写一个脚本。 安装Python fire模块 可以使用pip安装Python fire模…

    python 2023年6月3日
    00
  • python求最大值最小值方法总结

    Python求最大值最小值方法总结 在Python中,我们常常需要求解一个数组或列表中的最大值和最小值,那么Python中有哪些方法可以实现呢?本文将对Python求最大值最小值的方法进行总结,包括内置函数和第三方库函数。 内置函数 max() max()内置函数是用来求一个集合中的最大值。我们可以给max()函数传入一个列表、元组或者集合等可以迭代的对象,…

    python 2023年6月6日
    00
  • 无法在 Django 中导入视图(2.1.4、Python 3.7.0、Win 7)

    【问题标题】:Cannot import views in Django (2.1.4, Python 3.7.0, Win 7)无法在 Django 中导入视图(2.1.4、Python 3.7.0、Win 7) 【发布时间】:2023-04-03 18:35:01 【问题描述】: 我正在使用 django 构建一个站点,但无法将视图导入我的 URL 文件…

    Python开发 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部