python实现处理mysql结果输出方式
在运维过程中,经常需要读取mysql的结果输出并进行响应的处理,这节介绍如何用Python读取mysql结果表并进行相应的整理。
进行mysql结果文件输出:
mysql-h10.20.10.207-uroot-ppasswdtest-e"selectsendorderid,(price*100),mobfrominterfacelogwheremerid='****'>/home/anan/interfacelog.txt##这里写你需要执行的sql语句将结果打印成一个文件
/home/anan/interfacelog.txt内容如下,因为保密性要求,只显示一条数据
程序介绍:readInterfacelog
实现读取mysql的打印的结果并执行相应的语句。这里我们以重新输出结果作为演示。
具体实现
#!/usr/bin/envpython
#-*-coding:utf-8-*-
#@Date:2018-07-1911:39:00
#@Author:ZhouJiaan
#@Version:V1.0
importos
importsys
importtime
importre
defreadInterfacelog(merid):
withopen('/home/anan/interfacelog.txt','r')asf:#读取mysql输出文件
lines=f.readlines()
forlineinlines[2::1]:#因为第一第二行并不是我们需要处理的数据而是无效数据故我们忽略前两行直接读取后续我们需要的内容
interfacelog=re.split(r'[\t|\s]\s*',line)#对文件进行切分,
sendorderid=interfacelog[0]
price100=interfacelog[1]
mob=interfacelog[2]
print(sendorderid,price100,mob)
###这里进行你需要对输出进行的操作。
#os.system('/usr/local/bin/MsgSrvClient-h*.*.*.*-p6004-w0-e"IFTranSlowInt1%s%s%sNA15000120NA22NANA%sNANANA";'%(sendorderid,price100,merid,mob))##这是我的需求
time.sleep(0.1)
defmain():
#merid=sys.argv[1]
try:
merid_num=sys.argv[1]
exceptExceptionase:
merid_num=input("请输入merid:")
else:
print("输出merid_num:{}".format(merid_num))
finally:
merid=merid_num
print(merid)
readInterfacelog(merid)
if__name__=='__main__':
main()
补充知识:python打印mysql版本信息
#第一句话写成#!/usr/local/python不行,还不知道为啥
#!/usr/bin/envpython
importMySQLdb
db=MySQLdb.connect("192.168.74.130","root","l","")
cursor=db.cursor()
cursor.execute("selectversion()")
data=cursor.fetchone()
print"Databaseversion:%s"%data
db.close()
以上这篇python实现处理mysql结果输出方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。