python学习历程之split()方法获取cmd mysql 结果集
if __name__=='__main__':
FServerId = raw_input("Please input source id:")
GetFileKey(FServerId)
def GetFileKey(SzoneId):
##截取ID第一位
GroupId = SzoneId.replace(SzoneId[-3:],'')
##截取后三位并先替换前面两位以0开头的数字为空
ServerId = re.sub("^[0]",'',re.sub("^[0]",'',SzoneId[-3:]))
SelectSQL = 'mysql -uuser -ppasswd -h10.12.32.111 -N -e "use tgame;select GAMESERVERIP,GAMESERVERDIR from gameserver WHERE GROUPID =%s and GAMESERVERID =%s "' %(GroupId,ServerId)
p = subprocess.Popen("%s" %(SelectSQL),shell=True,close_fds=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
p.wait()
errorput = p.stderr.read()
##这里获取的查询结果集以字符串格式存储
stdoutput = p.stdout.read()
if errorput.strip() != "":
log(errorput,1)
sys.exit(1)
elif stdoutput != "":
##split()方法
szoneip,szonedir = stdoutput.split()
split() 函数详解
split翻译为分裂。 split()就是将一个字符串分裂成多个字符串组成的列表。
split()当不带参数时以空格进行分割,当代参数时,以该参数进行分割。
以上为例:
mysql查询出来的结果集字符串(两个值)

stdoutput 用split()方法分裂,这里没有带参数默认以空格为分裂符,组成list
这样就可以以变量形式取出你需要的值了 szoneip,szonedir = stdoutput.split()

打印两个变量的结果为
变量1 szoneip 默认取列表第一个值
变量2 szonedir 取列表第二个值
....
以此类推如果有多个值需要多个变量取出(变量 用,分隔)
szoneip,szonedir,... = stdoutput.split()
这里就主要介绍用split()方法获取mysql结果集
python学习历程之split()方法获取cmd mysql 结果集的更多相关文章
- python学习笔记之split()方法与with
Python split()方法 以下内容摘自:http://www.runoob.com/python/att-string-split.html 描述 Python split()通过指定分隔符对 ...
- Python学习_数据处理split方法
用open方法导入文件“sketch.txt”后,用split()方法进行分割: >>> import os >>> os.chdir('C:/Python33/H ...
- 【转】关于python中re模块split方法的使用
注:最近在研究文本处理,需要用到正则切割文本,所以收索到了这篇文章,很有用,谢谢原作者. 原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于 ...
- Python:内置split()方法
描述 Python split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串 语法 split()方法语法: str.split(str="&qu ...
- Python学习笔记:魔术方法详解
准备工作 为了确保类是新型类,应该把 _metaclass_=type 入到你的模块的最开始. class NewType(Object): mor_code_here class OldType: ...
- python学习之最简单的获取本机ip信息的小程序
文章是从我的个人博客粘贴过来的,大家可以直接访问我的个人博客哦 http://www.iwangzheng.com 获取本机ip信息的命令ifconfig总是在用,这次拿到pyhton代码里,感觉py ...
- Python学习_数据排序方法
Python对数据排序又两种方法: 1. 原地排序:采用sort()方法,按照指定的顺序排列数据后用排序后的数据替换原来的数据(原来的顺序丢失),如: >>> data1=[4,2, ...
- Python学习笔记6-异常捕获取
#--encoding:utf-8-- try: float('abc') except Exception,e: print e try: float(1.2) except Exception,e ...
- [Python学习笔记-003] 使用PyOTP获取基于OTOP算法的动态口令
建立安全的VPN连接,不仅需要输入用户名和密码,还需要输入动态口令(token).作为一个懒人,我更喜欢什么手工输入都不需要,既不需要输入password,也不需要输入token.也就是说,只需一个命 ...
随机推荐
- nginx 页面乱码问题
在配置nginx时常常遇到网页乱码的问题如图: 这时需要在server段里面添加两行: default_type 'text/html'; charset utf-8; 然后执行测试 重启操作 ng ...
- asp.net实现IHttpModule接口注意事项
IHttpModule向实现类提供模块初始化和处置事件. IHttpModule包含兩個方法: public void Init(HttpApplication context);public voi ...
- HDU 1257
分析: 依次保存现在每个拦截系统能拦截的最高的高度,接下来输入的每一个高度,依次和这若干个拦截系统现在所能拦截的最高高度比较,若某次该输入的高度小于某个拦截系统的最高高度,就替代这个拦截系统的最高高度 ...
- hdu 1231, dp ,maximum consecutive sum of integers, find the boundaries, possibly all negative, C++ 分类: hdoj 2015-07-12 03:24 87人阅读 评论(0) 收藏
the algorithm of three version below is essentially the same, namely, Kadane's algorithm, which is o ...
- Activity 生命周期
Activity 的四种基本状态 1.运行态(Running) Activity 处于屏幕最前端,用户可见且获得焦点. 2.暂停态(Paused) Activity被置于后台,用户可见,但失去焦点 3 ...
- restful
根据名称对应 相当于换了别名(很无聊)
- linux-rpm
1. RPM本地安装 RPM包管理员(简称RPM,全称为The RPM Package Manager)是在Linux下广泛使用的软件包管理器.RPM此名词可能是指.rpm的文件格式的 ...
- 关于css的新思考
因为被派去协助别的组,有机会写了一下react,发现ICE做的那一个套件用来搭建后台系统真的太给力了(插一句必入table组件其实是可以把删除添加座位基础方法加进去的).因为看了demo的代码以及对于 ...
- WebGL中添加天空盒的两种方法
天空盒 的添加可以让模型所在的场景非常漂亮,而其原理也是非常简单的,相信看完下面代码就可以明白了. 说到天空盒的两种方法,倒不如说是两种写法,分别用了纹理加载的两个方法:loadTexture和loa ...
- php大力力 [052节] php数据库页面修改功能
php大力力 [052节] php数据库页面修改功能

