python脚本执行CMD命令并返回结果的例子

yizhihongxing

下面我将为您讲解如何通过Python脚本执行CMD命令并返回结果。

第一步:使用subprocess模块执行CMD命令

Python中的subprocess模块提供了执行外部命令的方法,其中Popen方法可以创建一个新的进程来执行指定的命令。以下是一个简单的示例,演示如何使用subprocess模块执行CMD命令:

import subprocess

# 要执行的CMD命令
command = 'dir'

# 执行CMD命令
p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# 获取执行结果
out, err = p.communicate()

# 打印执行结果
print(out.decode('gbk'))

在上面的示例中,我们使用Popen方法执行了一个简单的CMD命令“dir”,并将执行结果保存在out和err变量中。最后,我们使用print语句打印out变量中保存的执行结果。

第二步:处理CMD命令的输出结果

由于subprocess模块执行CMD命令返回的结果是bytes类型,因此我们需要使用decode方法将其转换为字符串类型。在Windows系统下,CMD命令输出结果中的中文默认使用gbk编码,因此我们需要使用decode('gbk')方法将其转换为unicode字符集。

为了更好的展示如何处理CMD命令的输出结果,下面我们将使用两个示例来说明:

示例一:获取当前目录下的文件名列表

我们可以使用CMD命令“dir /b”获取当前目录下的文件名列表,并将其保存在一个列表变量中。以下是完整的示例代码:

import subprocess

# 要执行的CMD命令
command = 'dir /b'

# 执行CMD命令
p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# 获取执行结果
out, err = p.communicate()

# 将结果转换为列表
file_list = out.decode('gbk').strip().split('\r\n')

# 打印文件列表
print(file_list)

在上面的示例中,我们使用CMD命令“dir /b”获取当前目录下的文件名列表,并将执行结果保存在out变量中。然后,我们将out变量中保存的字符串按照换行符“\r\n”进行分割,并将结果存储在一个名为file_list的列表变量中。

最后,我们使用print语句打印file_list变量中的文件列表。

示例二:获取系统环境变量

我们可以使用CMD命令“set”获取当前系统的环境变量,并将其保存在一个字典变量中。以下是完整的示例代码:

import subprocess

# 要执行的CMD命令
command = 'set'

# 执行CMD命令
p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# 获取执行结果
out, err = p.communicate()

# 将结果转换为字典
env_dict = dict(x.split('=', 1) for x in out.decode('gbk').strip().split('\r\n'))

# 打印环境变量
print(env_dict['PATH'])  # 输出系统的Path环境变量

在上面的示例中,我们使用CMD命令“set”获取当前系统的环境变量,并将执行结果保存在out变量中。然后,我们将out变量中保存的字符串按照换行符“\r\n”进行分割,并将结果存储在一个名为env_dict的字典变量中。

最后,我们使用print语句打印env_dict字典变量中的环境变量。在这个示例中,我们输出了系统的Path环境变量。

希望这些示例能够帮助你理解如何使用Python脚本执行CMD命令并返回结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python脚本执行CMD命令并返回结果的例子 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 详解python selenium 爬取网易云音乐歌单名

    详解Python Selenium爬取网易云音乐歌单名 本攻略将从以下几个方面详细介绍如何使用Python和Selenium模拟登录网易云音乐,并爬取网易云音乐歌单名。 准备工作 在开始之前,需要进行如下准备工作: 安装Python3 安装Selenium库 安装Chrome浏览器 下载Chrome浏览器对应的驱动程序(注意驱动版本与Chrome浏览器版本要…

    python 2023年5月14日
    00
  • 基于Python的Houdini插件开发过程详情

    基于Python的Houdini插件开发过程详情 什么是Houdini Houdini是一款由加拿大SideFX公司开发的3D计算机图形软件,有着强大的节点图和编程能力,被广泛应用于影视制作、游戏开发、建筑设计等领域。 Houdini插件开发 Houdini支持使用Python编写插件,开发插件可以让用户快速自定义工具,并且可以将自定义工具分享到Houdin…

    python 2023年6月13日
    00
  • Pandas – 填补分类数据中的NaN

    为了能够更好地解释如何填补分类数据中的NaN,在这里我将先简单地介绍Pandas。 Pandas是Python中专门用于数据分析的库,它是由NumPy开发而来,可以看作是NumPy的扩展库。Pandas提供了两个重要的数据类型:Series和DataFrame。其中Series表示列,DataFrame表示表格。Pandas支持对数据的处理、清理、切片、聚合…

    python-answer 2023年3月27日
    00
  • 从一个Numpy数组创建一个DataFrame,并指定索引列和列标题

    通过Numpy数组创建DataFrame的过程中,需要借助于pandas库中的DataFrame构造函数,可以在构造函数中指定参数,如数据(Numpy数组),列标题(列名),索引列等信息。 下面是完整的从Numpy数组创建DataFrame,并指定索引列和列标题的攻略: 首先需要导入pandas和numpy库: import pandas as pd imp…

    python-answer 2023年3月27日
    00
  • pandas数值计算与排序方法

    pandas数值计算与排序方法 一、数值计算 加(+)、减(-)、乘(*)、除(/)运算 Pandas 支持常见的数值计算运算符,可以对一维或多维 DataFrame/Series 数值进行计算。 例如,我们想要对两个 DataFrame 等大小的数据集进行加法计算: import pandas as pd # 创建两个数据集 df1 = pd.DataFr…

    python 2023年5月14日
    00
  • 将Lambda函数应用于Pandas Dataframe

    让我们详细讲解如何将Lambda函数应用于Pandas Dataframe。 1. 理解Lambda函数 Lambda函数也称为匿名函数,是一种不需要使用def语句定义的函数。Lambda函数的结果是一个函数对象,可以用于执行某些特定任务,但是它的主要优点是可以方便地将其传递给其他函数作为参数。 例如,下面的Lambda函数是用于计算两个数的和: add =…

    python-answer 2023年3月27日
    00
  • 在Pandas中使用字符串数据构建一个DataFrame

    在Pandas中使用字符串数据构建一个DataFrame需要包含以下步骤:1. 导入Pandas库2. 创建字符串数据3. 将字符串数据按照某种分隔符分割成多个列(如果需要)4. 将数据转化为DataFrame格式 具体步骤如下: 导入Pandas库 首先需要在程序中导入pandas库,以便后面用于创建DataFrame。 import pandas as …

    python-answer 2023年3月27日
    00
  • Pandas数据分析的一些常用小技巧

    Pandas数据分析的一些常用小技巧攻略 Pandas 是一个Python中的数据分析库,是数据科学家必须掌握的工具之一。在使用Pandas进行数据分析时,有许多的小技巧能够帮助我们更快、更高效地完成数据处理任务。 本篇攻略将介绍一些Pandas数据分析的常用小技巧,内容包括: 数据读取 数据预处理 数据分析 数据可视化 数据读取 Pandas提供了许多方法…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部