python os.system os.popen 区别
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 os.system os.popen 区别相关推荐
- python os.system 512_python os.system os.popen 区别
最近有个需求就是页面上执行shell命令,第一想到的就是os.system, 复制代码代码如下: os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或者 ...
- Python3.X subprocess、os.system/os.popen/os.spawn*、commands:与系统进行交互,如测试时常用的adb命令
如需转载请注明出处. win10 64位.Python 3.6.3.Sublime Text 3. 一.首先明白一些概念: 1.操作系统(OS,operating system). 是管理和控制计算机 ...
- python执行系统命令的方法_python执行系统命令的方法 :os.system(),subprocess.popen(),command...
最近接触到os.system(),subprocess.popen()和commands来执行系统命令,从网上搜索到许多,现整理如下. 1. 使用os.system("cmd") ...
- os.system() 和 os.popen()
1.os.popen(command[, mode[, bufsize]]) os.system(command) 2.os.popen() 功能强于os.system() , os.popen() ...
- python中的subprocess.Popen()使用详解---以及注意的问题(死锁)
从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值. subprocess意在替代其他几个老的模块或者函数 ...
- 模块使用:time、datetime、calendar、sys、os、os.path、normcase和normapath、random、json、pickle...
## time:时间 时间戳(timestamp):time.time() 延迟线程的运行:time.sleep(secs) (指定时间戳下的)当前时区时间:time.localtime([secs] ...
- python中的subprocess.Popen()使用
从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值. subprocess意在替代其他几个老的模块或者函数 ...
- python中os.system、os.popen、subprocess.popen的区别
最近项目中需要在python中执行shell脚本,以下解释使用os.system. os.popen和subprocess.popen的区别: 1.os.system 该函数返回命令执行结果的返回值, ...
- Python面试高频问题: os.system()和os.popen()的区别
os.system()和os.popen()概述 大家搞python与操作系统交互时,必须掌握的两个方法就是os.system()和os.popen(),也是在相关技术领域面试中必问的题目!本文就对这 ...
最新文章
- 存在描述所有生命的方程吗?
- android开发 BaseAdapter中getView()里的3个参数是什么意思
- MFC多线程同步互斥
- 【Android 安装包优化】Android 中使用 SVG 图片 ( Android 5.0 以下的矢量图方案 | 矢量图生成为 PNG 图片 )
- 全球及中国陶瓷脐轮行业投资份额及需求前景调研报告2021-2027年版
- PyTorch 官方教程发布,限时免费开放!
- hdu 527 Necklace
- 服务器虚拟化怎么使用,服务器使用中的误区及建议 服务器虚拟化安装步骤
- 设单链表中存放n个字符,试设计一个算法,使用栈推断该字符串是否中心对称...
- 教你如何快速入门python_如何快速入门python
- python系统编程模块_Python系统进程管理模块
- iPhone 12包装盒设计曝光,没充电器没耳机实锤?
- zabbix监控kafka模板_一篇运维老司机的大数据平台监控宝典
- 服务器系统上1068错误,一个backup exec 2012的真实故障案例,服务无法启动1068
- C语言报错:「error」Id returned 1 exit status
- 自定义监控项及告警升级
- 介绍中国传统节日的网页html,介绍中国传统节日
- [elasticsearch笔记] Query DSL - percolate
- POJ 2210 Metric Time【日期】
- 心系冬奥 翰墨传情 |当代书画名家为奥运加油书画推介展【宋碧梅篇】
热门文章
- AgriPest:A Large-Scale Domain-Specific Benchmark Dataset for Practical Agricultural Pest Detection
- 个人感悟:我的学习嵌入式linux的方法
- 替人出头的大哥淘宝网投诉未果,当事人蚂蚁OceanBase会出来吗?
- 2019暑假起集训实录
- java 线型_java使用jfreechart绘制线型统计图
- 移动卡(非全球通)欠费停机3个月后自动销号无影响
- 微信小程序canvas 2d 绘制图片与文字 导出图片
- Ngnix安装及配置
- 服务器宕机是什么原因
- 计算机办公软件应用三套题目,在线考试Office办公软件高级应用第三套试卷