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结果集