python执行系统命令后获取返回值的几种方式集合

yizhihongxing

下面是关于"python执行系统命令后获取返回值的几种方式集合"的完整攻略。

1. subprocess模块的使用

subprocess 模块是 Python 的一个标准库,用于在 Python 脚本中执行外部程序或命令。 在执行完命令之后,可以获取命令执行的返回值,代码如下:

import subprocess

# 执行命令
p = subprocess.Popen("ls -l /tmp", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# 获取执行结果
out, err = p.communicate()
print(out.decode('utf-8'), err.decode('utf-8'))

# 获取返回值
return_code = p.returncode
print(return_code)

上述代码中,使用 subprocess.Popen 执行 ls -l /tmp 命令。stdoutstderr 分别为标准输出和标准错误输出。调用 communicate 方法将输出以二进制字符串方式返回并以元组 (stdout,stderr) 的形式存储。调用 returncode 方法获取命令执行的返回值。

2. os模块的使用

os 模块也提供了执行 shell 命令的方法,具体方法是 os.system。它会阻塞程序,直到命令执行完毕并将结果输出到屏幕上。在这种情况下,需要将输出存储到变量中,代码如下:

import os

# 执行命令
cmd = 'ls -l /tmp'
return_code = os.system(cmd)

# 获取返回值
print(return_code)

在这里,通过 os.system 执行 ls -l /tmp 命令。返回值为命令的返回值。

示例

以下是两个示例,分别演示如何使用 subprocessos 模块执行外部程序并获取返回值。

示例 1

通过 subprocess 模块执行程序 ls 并获取返回值:

import subprocess

# 执行命令
p = subprocess.Popen("ls -l /tmp", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# 获取执行结果
out, err = p.communicate()
print(out.decode('utf-8'), err.decode('utf-8'))

# 获取返回值
return_code = p.returncode
print(return_code)

这个示例执行 ls -l /tmp 命令,并把执行的结果输出到控制台上。

示例 2

通过 os 模块执行程序 uname 并获取返回值:

import os

# 执行命令
cmd = 'uname -a'
return_code = os.system(cmd)

# 获取返回值
print(return_code)

我们可以看到,上述代码执行 uname -a 命令并把执行的结果输出到控制台上。

希望以上内容能给您带来一些帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python执行系统命令后获取返回值的几种方式集合 - Python技术站

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

相关文章

  • [php]正则表达式的五个成功习惯

    PHP正则表达式可以用于匹配和替换文本数据。了解正则表达式的一些最佳实践,可以帮助您编写更有效、更可维护的代码。在这里,我们将介绍PHP中实现正则表达式的五项最佳实践,这些最佳实践将帮助您编写更高效的代码。 1. 进行模式匹配前,先明确目标 在使用正则表达式匹配文本之前,确保您已经明确了要匹配什么。 通常,在编写正则表达式之前,可以从您的样本数据中引用实例来…

    python 2023年5月23日
    00
  • python爬虫学习笔记–BeautifulSoup4库的使用详解

    Python爬虫学习笔记–BeautifulSoup4库的使用详解 BeautifulSoup4是一个Python库,用于解析HTML和XML文档,并提供了一些方便的方法来获取和操作文档中的元素。它可以帮我们快速地从网页中提取所需的信息,是Python爬虫中常用的工具之一。 安装BeautifulSoup4 在使用BeautifulSoup4之前,需要确保…

    python 2023年5月15日
    00
  • 关于Python的GPU编程实例近邻表计算的讲解

    以下是关于“关于Python的GPU编程实例近邻表计算的讲解”的完整攻略: 简介 近邻表计算是一个常见的问题,通常涉及到计算一组数据点之间的距离,并找到最近的邻居。在这个问题中,我们需要计算每个数据点与其他数据点之间的距离,并找到最近的邻居。本教程将介绍如何使用Python的GPU编程实现近邻表计算。 步骤 1. 导入库 首先,我们需要导入必要的库,包括Nu…

    python 2023年5月14日
    00
  • Python教程使用Chord包实现炫彩弦图示例

    接下来我将详细讲解“Python教程使用Chord包实现炫彩弦图示例”的完整攻略。 准备工作 在开始使用Chord包实现炫彩弦图之前,我们需要先安装必要的依赖,其中包括: Python 3.5 及以上版本 matplotlib numpy pandas chord 其中,matplotlib、numpy和pandas可通过pip命令进行安装,而chord需要…

    python 2023年5月18日
    00
  • python线程里哪种模块比较适合

    Python线程是一种轻量级的并发编程方式,可以在多个任务之间分享系统资源并提高程序的效率。在Python中,有多种模块可以用于线程编程,其中最常用的包括:threading、multiprocessing和concurrent.futures。这些模块都有自己特有的优点和适用场景,下面我们将具体探讨一下它们之间的区别以及如何选择哪种模块更适合。 线程模块讲…

    python 2023年5月19日
    00
  • python3爬虫之入门基础和正则表达式

    Python3 爬虫之入门基础和正则表达式 什么是爬虫? 爬虫,也称网络爬虫,是指一种自动获取网页内容的程序。爬虫通常会通过模拟人工浏览网页的行为,去抓取网页中的数据。 为什么要学习爬虫? 学习爬虫可以帮助我们: 更好地了解数据,掌握数据分析的技能; 在互联网中获取到自己需要的信息,并进行分析,以用于各种应用场景; 搜集市场上的报价、行情、新闻等信息,帮助决…

    python 2023年5月14日
    00
  • Python实现单向链表

    Python实现单向链表 单向链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点指针。本文将介绍如何使用Python实现单向链表。 实现步骤 步骤一:定义节点类 首先,我们需要定义一个节点类,用于表示单向链表中的每个节点。节点类包含两个属性:data和next。data表示节点中存储的数据,next表示指向下一个节点的…

    python 2023年5月13日
    00
  • Python使用lambda表达式对字典排序操作示例

    当我们需要排序一个字典时,我们可以使用Python的Lambda表达式来为字典排序。使用Lambda表达式可以省略定义函数的过程,使代码更加简洁。本篇攻略将向您展示如何使用Python的Lambda表达式对字典进行排序操作。 1. 使用sorted()函数对字典进行排序 我们可以使用 sorted() 函数来对字典进行排序。sorted() 函数对于字典的排…

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