Python 调用shell脚本
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脚本相关推荐
- python调用Shell脚本:os.system(cmd)或os.popen(cmd),
python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容.实际使用时视需求情况而选择. ...
- Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法
Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)-命令提示符cmd的几种方法 目录 利用python语言实现调用内部命令-命令提示符cmd的几种方法 T1. ...
- python调用shell脚本的参数_使用python执行shell脚本 并动态传参 及subprocess的使用详解
最近工作需求中 有遇到这个情况 在web端获取配置文件内容 及 往shell 脚本中动态传入参数 执行shell脚本这个有多种方法 最后还是选择了subprocess这个python标准库 subpr ...
- python 调用shell 不阻塞_遇到问题---python调用shell脚本时subprocess.check_call不阻塞
遇到的问题 使用命令 subprocess.check_call(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) ...
- python调用shell脚本
python程序 import os import subprocess import sys while(1): subprocess.call("/home/your_host_name ...
- python调用shell命令-Python调用shell命令常用方法(4种)
方法一.使用os模块的system方法:os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256表示未找到,该方法适用于shell命令 ...
- 3种python调用其他脚本的方法,你还知道其他的方法吗?
1.用python调用python脚本 #!/usr/local/bin/python3.7 import time import oscount = 0 str = ('python b.py') ...
- python调用脚本_3种python调用其他脚本的方法
1.用python调用python脚本 #!/usr/local/bin/python3.7 import time import os count = 0 str = ('python b.py') ...
- 简单python脚本实例-简单了解python调用其他脚本方法实例
1.用python调用python脚本 #!/usr/local/bin/python3.7 import time import os count = 0 str = ('python b.py') ...
最新文章
- 你已经是个成熟的表格,该学会NLP了
- 08 | 案例篇:系统中出现大量不可中断进程和僵尸进程怎么办?(下)
- 添加右键菜单_如何在Windows文件夹的右键菜单中添加“打开PowerShell”
- java 正则匹配_正则表达式真的很强大,可惜你不会写
- python/c++计算psnr
- ensp 交换机与路由器ospf_华为路由器 eNSP 配置 rip OSPF 路由重发布
- 密度聚类之DBSCAN聚类算法
- 设置下拉菜单的几种方法
- WPS的JS宏设置文档的表格底色
- 火狐浏览器设置关闭提醒
- python中模块和包是什么_python的模块和包的详细说明
- 【前端学习-函数】js基础学习笔记
- gcc简介和命令行参数说明
- 【自然语言处理】【多模态】CLIP:从自然语言监督中学习可迁移视觉模型
- rn 地图根据区名获取经纬度_React Native获取地理位置(获取具体城市、经纬度)...
- 头条搜索官网认证说明
- 生成在线图片地址,用于测试
- i5 1135G7和R5 5600H 选哪个好
- iptables基于域名的本机流量控制
- Java考试案例-列出101至200之间的质数