广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python执行系统命令的方法
  • 655
分享到

python执行系统命令的方法

命令方法系统 2023-01-31 06:01:05 655人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

    做为系统工程师来说,经常会用到python脚本去调用一下系统命令,现把经常使用的集中调用方法总结如下:一,os.system(command)在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。

    做为系统工程师来说,经常会用到python脚本去调用一下系统命令,现把经常使用的集中调用方法总结如下:

一,os.system(command)

在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。这个函数执行命令的结果无法保存,只能显示在标准输出。但是,命令执行是否成功的退出状态可以通过变量得到,非0即为不正常。

例:
>>> os.system('ls /tmp')
hsperfdata_root  supervisor.sock  tmp_fifo
0
>>> code=os.system('ls /tmp')
hsperfdata_root  supervisor.sock  tmp_fifo
>>> print code
0


二,os.popen(command[, mode[, bufsize]])

打开一个与command进程之间的管道,函数的返回值是一个连接到管道的文件对象,故可以对文件做读写操作(由mode决定rw,mode默认是’r',)。bufsize指定了文件期望的buffer大小,0意味着不是用buffer,1意味着line buffered(行缓冲),负值意味着使用系统默认行为,正值意味着按设定的num值开辟buffer空间;一般终端相关的设备输出用行缓冲,对文件相关输出用全缓冲;默认情况下,buffer是全缓冲,加快了文件读取速度减少了上下文切换。如果mode为’r',可以使用此函数的返回值调用read()来获取command命令的执行结果。

例:

>>> f=os.popen('ls /tmp')            
>>> f.readlines()
['hsperfdata_root\n', 'supervisor.sock\n', 'tmp_fifo\n']


三,subprocess

第一种:

subprocess.call(["some_command","some_argument","another_argument_or_path"])

与os.system的功能相同。

第二种:

subprocess.Popen(command,shell=True)

已子进程的方式去执行命令,然后返回代表新进程的Popen对象。他可以与新建进程的输入/输出/错误管道联通,并可以获得新建进程执行的返回状态等。使用subprocess模块主要目的就是来替代之前的os,popen,commands等函数或模块。

例:

执行基本的系统命令,直接输出结果

>>> ret = subprocess.call('ls /tmp',shell=True)
hsperfdata_root  supervisor.sock  tmp_fifo

执行系统命令,但是捕捉输出

>>> f = subprocess.Popen('ls /tmp',shell=True,stdout=subprocess.PIPE)
>>> print f.stdout.readlines()
['hsperfdata_root\n', 'supervisor.sock\n', 'tmp_fifo\n']

创建2个子进程,通过管道把他们连接起来。一个进程的输出作为另一个进程的输入

>>> f = subprocess.Popen('ls -l',shell=True,stdout=subprocess.PIPE)
>>> p = subprocess.Popen('wc', shell=True, stdin=f.stdout, stdout=subprocess.PIPE) 
>>> print p.stdout.readlines()
['     73     652    4161\n']


四,commands

commands模块用于执行以字符串形式指定的简单系统命令,并将其输出以字符串形式返回,仅使用于unix系统。

第一种:

getoutput(cmd)

在shell中执行cmd,返回包含命令标准输出和标准错误流的字符串。

getstatusoutput(cmd)

与getoutput类似,差别在于返回的是二元组(status,output)

例:

>>> out=commands.getoutput('ls /tmp') 
>>> print out
hsperfdata_root
supervisor.sock
tmp_fifo

>>> status,out=commands.getstatusoutput('ls /tmp') 
>>> print status,out
0 hsperfdata_root
supervisor.sock
tmp_fifo



--结束END--

本文标题: python执行系统命令的方法

本文链接: https://www.lsjlt.com/news/190075.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python执行系统命令的方法
        做为系统工程师来说,经常会用到python脚本去调用一下系统命令,现把经常使用的集中调用方法总结如下:一,os.system(command)在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。...
    99+
    2023-01-31
    命令 方法 系统
  • Python执行Linux系统命令的4种方法
    (1) os.system 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 system(command) -> exit_status Execute the command (...
    99+
    2022-06-04
    种方法 命令 系统
  • python 执行系统命令(curl)
    使用python执行系统命令,比如curl直接上货:#!/usr/bin/python # -*- coding: UTF-8 -*- import os data = ['www.baidu.com', 'www.cs...
    99+
    2023-01-31
    命令 系统 python
  • Python中执行系统命令常见的几种方法
      Python中执行系统命令常见的几种方法:   (1)os.system   # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息  # 如果再命令行下执行,结果直接打印出来  例如:  >>> impor...
    99+
    2023-01-31
    几种方法 命令 常见
  • python执行系统命令4种方法与比较
    Python中执行系统命令常见的方法有以下4种 注意:以下实例代码在Python3.5下运行通过。 一、os.system方法 os.system(cmd) 在子终端运行系统命令...
    99+
    2022-11-12
  • python执行shell命令的方法
    os模块os.system方式:import os os.system('top') os.system('cat /proc/cpuinfo')说明这个调用相当直接,且是同步进行的,程序需要阻塞并等待返回。返回值是依赖于系统的,直接返回系...
    99+
    2023-01-31
    命令 方法 python
  • linux系统下用.sh文件执行python命令的方法
    目录标准版进阶版1 for循环2 嵌套for循环3 定义变量名4 写if函数总结标准版 假设,在终端要执行的命令是: python main.py 首先在执行目录下创建test.sh(文件名自定义)文件 并在test....
    99+
    2022-07-27
    .sh文件执行命令 Linux运行python shell运行python脚本
  • 日常整理python执行系统命令的常见方法(全)
    具体内容如下: 1 os.system 例如 ipython中运行如下命令,返回运行状态status os.system('cat /etc/passwdqc.conf') min=disabled,24,...
    99+
    2022-06-04
    命令 日常 常见
  • Python中怎么执行Linux系统命令
    这篇文章将为大家详细讲解有关Python中怎么执行Linux系统命令,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。(1) os.system仅仅在一个子终端运行系统命令,而不能获取命令执行后...
    99+
    2023-06-09
  • Python怎么执行Linux操作系统的命令
    这篇文章主要讲解了“Python怎么执行Linux操作系统的命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么执行Linux操作系统的命令”吧!在开发运维脚本过程中,经常需要...
    99+
    2023-06-02
  • Golang执行cmd命令行的方法
    1. Golang执行系统命令使用 os/exec Command方法: func Command(name string, arg ...string) *Cmd 第一个参数是命...
    99+
    2022-11-11
  • Python执行dos和Linux命令的方法详解
    在实际开发中,有时为了方便,可能需要执行DOS命令或者linux命令。比如说执行某些shell脚本,上传下载一些文件,执行adb命令等跨语言,加压包,解压包等跨操作系统的场景。这样能大大加强多个平台和操作系统之间的关联性...
    99+
    2022-10-16
  • python中执行DOS命令的3种方法小
    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息。 import os os.system("ls")   2. 使用Popen模块产生新的process 现在大部分人都喜欢使用Pop...
    99+
    2023-01-31
    种方法 命令 python
  • Python执行外部命令的方法有哪些
    这篇文章主要介绍“Python执行外部命令的方法有哪些”,在日常操作中,相信很多人在Python执行外部命令的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python执行外部命令的方法有哪些”的疑...
    99+
    2023-06-16
  • python执行使用shell命令方法分享
    1. os.system(shell_command) 直接在终端输出执行结果,返回执行状态0,1 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出状态,如果com...
    99+
    2022-06-04
    命令 方法 python
  • Python3 执行Linux Bash命令的方法
    和之前C++执行linux Bash命令的方法 一样,python依然支持system调用和popen()函数来执行linux bash命令。 方法一:system调用 #仅仅在一个子终端运行系统命令,而不能获取命令...
    99+
    2022-06-04
    Python3 Linux Bash命令
  • python中执行shell命令的几个方
    最近有个需求就是页面上执行shell命令,第一想到的就是os.system, 代码如下: os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了。 尝试第二种方...
    99+
    2023-01-31
    几个 命令 python
  • redis执行redis命令的方法教程
    Redis 命令 Redis 命令用于在 redis 服务上执行操作。所以我们必须要启动Redis服务程序,也就是redis安装目录下的redis-server.exe,你可以双击执行,也可以打开cmd窗口...
    99+
    2022-06-04
    命令 方法 教程
  • JavaJSch远程执行Shell命令的方法
    目录背景JSch简介使用示例需要注意的点参考文档背景 项目需求,需要远程 ssh 登录到某个节点执行 shell 命令来完成任务。对于这种需求,如果不用 java 程序,直接 lin...
    99+
    2022-11-13
  • Shell.Application执行命令的方法有哪些
    这篇文章将为大家详细讲解有关Shell.Application执行命令的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:Set objShellApp = ...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作