利用commands模块执行Linux shell命令

2023-11-10

利用commands模块执行Linux shell命令

用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要函数:

1. commands.getoutput('shell command')

执行shell命令,返回结果(string类型)

>>> commands.getoutput('pwd')
'/home/oracle'

2. commands.getstatus('file')

该函数已被python丢弃,不建议使用,它返回 ls -ld file 的结果(String)(返回结果太奇怪了,难怪被丢弃)

>>> commands.getstatus('admin.tar')
'-rw-rw-r-- 1 oracle oracle 829440 Jan 29 10:36 admin.tar'

3. commands.getstatusoutput('shell command')

执行shell命令, 返回两个元素的元组tuple(status, result),status为int类型,result为string类型。

cmd的执行方式是{ cmd ; } 2>&1, 故返回结果包含标准输出和标准错误. 

>>> commands.getstatusoutput('pwd')
(0, '/home/oracle')

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用commands模块执行Linux shell命令 的相关文章

  • Python BigQuery 存储。并行读取多个流

    我有以下玩具代码 import pandas as pd from google cloud import bigquery storage v1beta1 import os import google auth os environ G
  • 下载 PyQt6 的 Qt Designer 并使用 pyuic6 将 .ui 文件转换为 .py 文件

    如何下载 PyQt6 的 QtDesigner 如果没有适用于 PyQt6 的 QtDesigner 我也可以使用 PyQt5 的 QtDesigner 但是如何将此 ui 文件转换为使用 PyQt6 库而不是 PyQt5 的 py 文件
  • Django REST序列化器:创建对象而不保存

    我已经开始使用 Django REST 框架 我想做的是使用一些 JSON 发布请求 从中创建一个 Django 模型对象 然后使用该对象而不保存它 我的 Django 模型称为 SearchRequest 我所拥有的是 api view
  • Python、Tkinter、更改标签颜色

    有没有一种简单的方法来更改按钮中文本的颜色 I use button text input text here 更改按下后按钮文本的内容 是否存在类似的颜色变化 button color red Use the foreground设置按钮
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 从 Python 中的类元信息对 __init__ 函数进行类型提示

    我想做的是复制什么SQLAlchemy确实 以其DeclarativeMeta班级 有了这段代码 from sqlalchemy import Column Integer String from sqlalchemy ext declar
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce

随机推荐

  • 怎么解决kafka的数据丢失

    producer端 宏观上看保证数据的可靠安全性 肯定是依据分区数做好数据备份 设立副本数 broker端 topic设置多分区 分区自适应所在机器 为了让各分区均匀分布在所在的broker中 分区数要大于broker数 分区是kafka进
  • 理解gradle和gradlew

    前言 最近在跑grpc官方示例程序的时候 用到了在命令行中使用gradle编译生成代码 对gradle和gradlew做了一些了解 gradle 现在android项目普遍使用androidstudio进行开发 项目的构建和编译都用到了gr
  • MultiValueMap是什么?怎么使用?

    MultiValueMap 可以同一个key下面放多个value 此类来自spring 在spring core里面 代码 public static void main String args MultiValueMap
  • arma模型平稳性和可逆性的条件_时间序列预测模型ARIMA实现

    前段时间整理了一个预测的基本思考框架和常见的方法 其中提到了ARIMA模型 在 大数据预测 那本书里 ARIMA是单独开辟一章讲的 比较复杂和难理解的一个模型 自己最近找了点资料粗浅学习了一下理论 并尝试用Python实现一下 一 时间序列
  • 解决Android Studio运行时报Error:java.lang.NullPointerException (no error message)错误

    今天遇到一个问题 电脑突然关机了 然后重启电脑打开Android studio时 运行程序跑不起来 然后报 Gradle tasks Error Error java lang NullPointerException no error m
  • 【C++】string类的使用

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 目录 一 string 1 string的介绍 2 为什么str
  • 修改Nuget缓存包下载路径

    一 打开NuGet config文件 该文件通常在C Users Username AppData Roaming NuGet下 二 添加设置 添加设置 value值设置为自己想要的路径
  • 腾讯、阿里入选首批“双柜台证券”,港股市场迎盛夏升温?

    6月5日 香港交易所发布公告 将于6月19日在香港证券市场推出 港币 人民币双柜台模式 当日确定有21只证券指定为双柜台证券 同时 港交所还表示 在双柜台模式推出前 更多证券或会被接纳并加入双柜台证券名单 港股研究社了解到 首批21只证券包
  • 二叉树(链式存储)基本操作

    目录 1 二叉树链式存储的结构体定义 2 询问法创建二叉树 3 补空法创建二叉树 4 访问结点 5 先序遍历二叉树 根左右 6 中序遍历二叉树 左根右 7 后序遍历二叉树 左右根 8 层序遍历二叉树 按照层次从左到右依次遍历 代码部分 运行
  • 定位相关论文阅读:神经惯性定位(二)Neural Inertial Localization

    如果您对这个论文不太了解 想从总体上先了解这个论文的情况 可以前往Neural Inertial Localization论文简述 快速预览 0 Abstract 0 1 逐句翻译 0 2 总结 1 Introduction 1 1逐句翻译
  • flutter 实现底部tabBar 页面跳转效果

    效果图如下 点击底部tabBar切换页面 代码如下 主页面底部tabbar import package app ftr pages DyPage dart import package flutter material dart impo
  • keil仿真点击三次运行才开始运行

    可能造成该问题的原因 使用了printf函数 未勾选微库编译 使用了仿真器供电 可能有效的解决方法 不适用printf函数 勾选微库编译 使用外部电源供电
  • 基于CNN-LSTM模型: 用EEG自动诊断精神分裂症

    精神分裂症 SZ 会阻碍大脑发育 严重损害思想 情感表达以及对现实的感知 大多数研究表明大脑结构和功能异常会产生很大影响 不过目前导致SZ的原因仍不明确 据世界卫生组织报告 全世界近2100万人患有这种脑部疾病 开始受该疾病影响的平均年龄是
  • 排序--插入排序--(直接插入排序、希尔排序)

    文章目录 直接插入排序 希尔排序 直接插入排序 将一段有序数组 插入一个数 重新使它有序 最坏时间复杂度O N 2 逆序 最好时间复杂度O N 顺序有序 空间复杂度O 1 void InsertSort int a int n 0 end
  • Vue 中防止用户频繁点击按钮的优秀实践

    系列文章目录 文章目录 系列文章目录 前言 一 为什么要防止用户频繁点击按钮 二 优秀的防止用户频繁点击按钮的实践方法 1 禁用按钮 2 添加防抖函数 3 添加节流函数 总结 前言 在 Vue 开发中 我们常常会遇到用户频繁点击按钮的问题
  • 【Java笔记+踩坑】SpringBoot基础2——运维实用

    导航 黑马Java笔记 踩坑汇总 JavaSE JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud SpringCloudAlibaba 黑马旅游 谷粒商城 目录 1 SpringBoot程序的打包与运行回顾 1
  • 2023校招4399面试

    4399效率很高 笔试完第二天就面试了 腾讯会议面试的 表现比较拉跨 1 自我介绍 2 为什么做这个web服务器这个项目 当时说的是想学以致用一下 现在想想说具体什么作用更好吧 3 项目中一些难点 线程池 4 几种io多路复用的实现方式以及
  • JS,统计图表大全--二、柱形图(柱状图及条形图)Bar

    二 柱状图 Bar
  • An Introduction to Compressive Sensing 压缩感知教材

    rice大学压缩感知的书 想系统性学习CS的可以看看这本书 下载地址 http cnx org exports f70b6ba0 b9f0 460f 8828 e8fc6179e65f 5 12 pdf an introduction to
  • 利用commands模块执行Linux shell命令

    利用commands模块执行Linux shell命令 用Python写运维脚本时 经常需要执行linux shell的命令 Python中的commands模块专门用于调用Linux shell命令 并返回状态和结果 下面是command