python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。

实际使用时视需求情况而选择。

现假定有一个shell脚本test.sh:

#!/bin/bash

1. echo "hello world!"

2. exit 3

os.system(cmd): 该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码,即脚本中“exit 1”的代码执行后,os.system函数返回值的高位数则是1,如果低位数是0的情况下,则函数的返回值是0×100,换算为10进制得到256。如果我们需要获得os.system的正确返回值,那使用位移运算可以还原返回值:

1. >>> n = os.system(test.sh)

2. >>> n >> 8 3. >>> 3

os.popen(cmd): 这种调用方式是通过管道的方式来实现,函数返回一个file-like的对象,里面的内容是脚本输出的内容(可简单理解为echo输出的内容)。使用os.popen调用test.sh的情况: python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。实际使用时视需求情况而选择。

明显地,像调用”ls”这样的shell命令,应该使用popen的方法来获得内容。

Python 调用shell脚本相关推荐

  1. python调用Shell脚本:os.system(cmd)或os.popen(cmd),

    python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容.实际使用时视需求情况而选择. ...

  2. Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法

    Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)-命令提示符cmd的几种方法 目录 利用python语言实现调用内部命令-命令提示符cmd的几种方法 T1. ...

  3. python调用shell脚本的参数_使用python执行shell脚本 并动态传参 及subprocess的使用详解

    最近工作需求中 有遇到这个情况 在web端获取配置文件内容 及 往shell 脚本中动态传入参数 执行shell脚本这个有多种方法 最后还是选择了subprocess这个python标准库 subpr ...

  4. python 调用shell 不阻塞_遇到问题---python调用shell脚本时subprocess.check_call不阻塞

    遇到的问题 使用命令 subprocess.check_call(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) ...

  5. python调用shell脚本

    python程序 import os import subprocess import sys while(1): subprocess.call("/home/your_host_name ...

  6. python调用shell命令-Python调用shell命令常用方法(4种)

    方法一.使用os模块的system方法:os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256表示未找到,该方法适用于shell命令 ...

  7. 3种python调用其他脚本的方法,你还知道其他的方法吗?

    1.用python调用python脚本 #!/usr/local/bin/python3.7 import time import oscount = 0 str = ('python b.py') ...

  8. python调用脚本_3种python调用其他脚本的方法

    1.用python调用python脚本 #!/usr/local/bin/python3.7 import time import os count = 0 str = ('python b.py') ...

  9. 简单python脚本实例-简单了解python调用其他脚本方法实例

    1.用python调用python脚本 #!/usr/local/bin/python3.7 import time import os count = 0 str = ('python b.py') ...

最新文章

  1. 你已经是个成熟的表格,该学会NLP了
  2. 08 | 案例篇:系统中出现大量不可中断进程和僵尸进程怎么办?(下)
  3. 添加右键菜单_如何在Windows文件夹的右键菜单中添加“打开PowerShell”
  4. java 正则匹配_正则表达式真的很强大,可惜你不会写
  5. python/c++计算psnr
  6. ensp 交换机与路由器ospf_华为路由器 eNSP 配置 rip OSPF 路由重发布
  7. 密度聚类之DBSCAN聚类算法
  8. 设置下拉菜单的几种方法
  9. WPS的JS宏设置文档的表格底色
  10. 火狐浏览器设置关闭提醒
  11. python中模块和包是什么_python的模块和包的详细说明
  12. 【前端学习-函数】js基础学习笔记
  13. gcc简介和命令行参数说明
  14. 【自然语言处理】【多模态】CLIP:从自然语言监督中学习可迁移视觉模型
  15. rn 地图根据区名获取经纬度_React Native获取地理位置(获取具体城市、经纬度)...
  16. 头条搜索官网认证说明
  17. 生成在线图片地址,用于测试
  18. i5 1135G7和R5 5600H 选哪个好
  19. iptables基于域名的本机流量控制
  20. Java考试案例-列出101至200之间的质数

热门文章

  1. Hadoop教程(三):HDFS、MapReduce、程序入门实践
  2. Linux 的文件权限与目录配置
  3. ES-PHP向ES批量添加文档报No alive nodes found in your cluster
  4. xml与java代码相互装换的工具类
  5. 关于Android开发中Arm、X86和Mips(草稿)
  6. OpenSceneGraph学习笔记
  7. linux下oracle安装
  8. 解决media player内部应用程序错误
  9. Spring框架IoC和传统bean调用的区别
  10. matlab中print、fprintf、scanf、disp函数简要语法介绍