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

下面是关于"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日

相关文章

  • python 并发下载器实现方法示例

    Python并发下载器实现方法示例 在本文中,我们将介绍如何使用Python实现一个并发下载器。我们将使用多线程和协程两种方式来实现并发下载,从而提高下载速度。 多线程实现并发下载器 使用多线程是一种常见的实现并发下载器的方式。我们可以使用Python的threading模块来创建多个线程,每个线程负责下载一个。下面是一个使用多线程实现并发下载器的示例: i…

    python 2023年5月14日
    00
  • Python XlsxWriter模块Chart类用法实例分析

    我们来详细讲解一下Python XlsxWriter模块Chart类的用法实例分析。 什么是XlsxWriter XlsxWriter是一个用于创建Excel XLSX文件的Python模块。它像Excel应用程序一样支持基于单元格格式化、自适应行大小和列大小等高级功能。 XlsxWriter也支持一系列图表类型,如饼图、条形图、散点图等。 XlsxWrit…

    python 2023年5月13日
    00
  • 详解python with 上下文管理器

    详解Python的上下文管理器 在Python中,上下文管理器是一种用于管理资源的对象。它们可以确保在使用资源时正确地分配和释放资源。本文为您提供一个完整攻略,详细讲解的上下文管理器,包括下文管理器的定义、使用和自定义,并提两个示例说明。 1. 上下文管理器的定义和使用 在Python中,上下文管理器是一个对象,它定义了在资源时应该执行的操作。上下文管理器可…

    python 2023年5月14日
    00
  • Python函数中*args和**kwargs来传递变长参数的用法

    当我们要传递一个变长参数列表时,通常常用两种方式实现: 使用*args *args是用来传递一个可变长度的非关键字参数列表,它会把所以传入的参数全部封装成一个元组,我们可以在函数内部通过遍历这个元组实现对传参的操作。 def foo(*args): for arg in args: print(arg) foo(1, 2, 3) 上述代码的输出结果为: 1 …

    python 2023年6月5日
    00
  • python 利用PyAutoGUI快速构建自动化操作脚本

    Python 利用 PyAutoGUI 构建自动化操作脚本 1. 简介 PyAutoGUI 是 Python 的第三方库,它可以用于自动化控制鼠标和键盘的输入,同时还支持对屏幕的截图和识别以及基于图像识别的自动化。 PyAutoGUI 是用纯 Python 编写的,因此非常适合用于各种平台的自动化操作,但是注意它可能会受到防御/保护机制的影响,使用前请仔细阅…

    python 2023年5月19日
    00
  • Python实例教程之检索输出月份日历表

    下面是Python实例教程之检索输出月份日历表的完整攻略: 一、需求分析 该项目要求输入指定年月,输出对应月份的日历。 二、实现思路 获取用户输入的年份、月份:可以使用input()函数获取用户输入,也可以在代码中直接设置固定的年份和月份 使用calendar模块中的monthcalendar()函数生成制定月份的日历 遍历生成的日历列表,根据打印需求进行日…

    python 2023年6月3日
    00
  • Python3环境安装Scrapy爬虫框架过程及常见错误

    Python3环境安装Scrapy爬虫框架过程及常见错误 Scrapy是一个Python编写的开源网络爬虫框架,用于抓取网站并从中提取数据。本文将详细讲解Python3环境安装Scrapy爬虫框架过程及常见错误的解决方法。 安装Scrapy 在安装Scrapy之前,需要确保已经安装了Python3和pip。可以使用以下命令检查Python3和pip是否已经安…

    python 2023年5月13日
    00
  • Python设计模式中的策略模式详解

    Python设计模式中的策略模式详解 策略模式简介 策略模式(Strategy Pattern)属于对象行为型模式。定义一系列算法 (算法族),将每个算法封装起来,让它们可以相互替换,使得算法的变化不会影响到使用算法的用户。 策略模式主要包含三个角色: Context(环境类):上下文类,它通过一个成员变量将策略类传入上下文类中。 Strategy(抽象策略…

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