python执行shell并获取结果】的更多相关文章

最近要获取服务器各种参数,包括cpu.内存.磁盘.型号等信息.试用了Hyperic HQ.Nagios和Snmp,它们功能都挺强大的,但是于需求不是太符,亦或者太heavy. 于是乎想到用python执行shell获取这些信息,python执行shell脚本有以下三种方法: 1. os.system() os.system('ls')#返回结果0或者1,不能得到命令的输出 2. os.popen() output = os.popen('ls') print output.read()#打印出的…
python执行系统命令后获取返回值的几种方式集合 今天小编就为大家分享一篇python执行系统命令后获取返回值的几种方式集合,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 第一种情况     os.system('ps aux') 执行系统命令,没有返回值 第二种情况     result = os.popen('ps aux')     res = result.read()     for line in res.splitlines():         print l…
最近工作需求中 有遇到这个情况  在web端获取配置文件内容 及 往shell 脚本中动态传入参数 执行shell脚本这个有多种方法   最后还是选择了subprocess这个python标准库 subprocess这个模块可以非常方便的启动一个子进程,并且控制其输入和输出 Class Popen(args,bufsize = 0,executable=None,            stdin =None,stdout =None,stderr =None,            preex…
1.获取硬盘序列号: 新建shell脚本文件: identifier.sh, 内容为: diskdata=`fdisk -l` diskleft=${diskdata#*"identifier: "} identifier=${diskleft%%" Device Boot"*} echo ${identifier} 调整identifier.sh的权限: chmod +x identifier.sh 使用Java代码去调用该shell脚本获取结果 private…
1.os模块中的os.system()这个函数来执行shell命令 1 2 3 >>> os.system('ls') anaconda-ks.cfg  install.log  install.log.syslog  send_sms_service.py  sms.py 0 注,这个方法得不到shell命令的输出. 2.popen()#这个方法能得到命令执行后的结果是一个字符串,要自行处理才能得到想要的信息. 1 2 3 4 5 >>> import os >…
import os, subprocess # os.system('dir') #执行系统命令,没有获取返回值,windows下中文乱码 # result = os.popen('dir') #执行系统命令,返回值为result# res = result.read()# for line in res.splitlines():# print(line ) #用subprocess库获取返回值.# p = subprocess.Popen('dir', shell=True, stdout=…
1 os.system 可以返回运行shell命令状态,同时会在终端输出运行结果 例如 ipython中运行如下命令,返回运行状态status os.system('cat /etc/passwdqc.conf') min=disabled,24,11,8,7 max=40 passphrase=3 match=4 similar=deny random=47 enforce=everyone retry=3 Out[6]: 0 2 os.popen() 可以返回运行结果 popen(comma…
1.使用readline可以实现 import subprocess def run_shell(shell): cmd = subprocess.Popen(shell, stdin=subprocess.PIPE, stderr=subprocess.PIPE, stdout=subprocess.PIPE, universal_newlines=True, shell=True, bufsize=1) # 实时输出 while True: line = cmd.stdout.readlin…
一.import os ex: 1.os.system('ls') ----并不能得到返回值 2.output = os.popen('ls') res = output.read() ----能得到输出,但是不能得到程序执行的返回值 二.import commands ex: >>> import commands >>> commands.getstatusoutput('ls') (0, 'a\nb\nc') >>> commands.getou…
# coding=UTF-8 import os def distcp(): nncheck = os.system('lsof -i:8020') dncheck = os.system('lsof -i:50010') if nncheck == 256 and (dncheck == 256): os.system("su - hdfs hadoop-daemon.sh start namenode") os.system("su - hdfs hadoop-daemo…