python学习历程之split()方法获取cmd mysql 结果集

时间:2023-03-09 03:17:44
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查询出来的结果集字符串(两个值)

python学习历程之split()方法获取cmd mysql 结果集

stdoutput 用split()方法分裂,这里没有带参数默认以空格为分裂符,组成list
python学习历程之split()方法获取cmd mysql 结果集

这样就可以以变量形式取出你需要的值了 szoneip,szonedir = stdoutput.split()

python学习历程之split()方法获取cmd mysql 结果集

 打印两个变量的结果为  

python学习历程之split()方法获取cmd mysql 结果集
变量1 szoneip  默认取列表第一个值
变量2 szonedir 取列表第二个值
....
以此类推如果有多个值需要多个变量取出(变量 用,分隔)
szoneip,szonedir,... = stdoutput.split()
 

这里就主要介绍用split()方法获取mysql结果集