python实现处理mysql结果输出方式

在运维过程中,经常需要读取mysql的结果输出并进行响应的处理,这节介绍如何用Python读取mysql结果表并进行相应的整理。

进行mysql结果文件输出:

mysql -h10.20.10.207 -uroot -ppasswd test -e "select sendorderid, (price*100),mob from interfacelog where merid='****' >/home/anan/interfacelog.txt ##这里写你需要执行的sql语句将结果打印成一个文件

/home/anan/interfacelog.txt内容如下,因为保密性要求,只显示一条数据

程序介绍: readInterfacelog

实现读取mysql的打印的结果并执行相应的语句。这里我们以重新输出结果作为演示。

具体实现

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date  : 2018-07-19 11:39:00
# @Author : Zhou Jiaan
# @Version : V1.0
import os
import sys
import time
import re

def readInterfacelog(merid):
  with open('/home/anan/interfacelog.txt', 'r') as f: #读取mysql输出文件
    lines = f.readlines()
  for line in lines[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 *.*.*.* -p 6004 -w0 -e "IFTran SlowInt 1 %s %s %s NA 1 5000 120 NA 22 NA NA %s NA NA NA";'%(sendorderid,price100,merid,mob)) ##这是我的需求
    time.sleep(0.1)

def main():
  # merid=sys.argv[1]
  try:
    merid_num = sys.argv[1]
  except Exception as e:
    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/env python

import MySQLdb
db = MySQLdb.connect("192.168.74.130","root","l","")
cursor=db.cursor()
cursor.execute("select version()")
data=cursor.fetchone()
print "Database version : %s " % data
db.close()

以上这篇python实现处理mysql结果输出方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python连接MySQL并使用fetchall()方法过滤特殊字符

    来一个简单的例子,看Python如何操作数据库,相比Java的JDBC来说,确实非常简单,省去了很多复杂的重复工作,只关心数据的获取与操作. 准备工作 需要有相应的环境和模块: Ubuntu 14.04 64bit Python 2.7.6 MySQLdb 注意:Ubuntu 自带安装了Python,但是要使用Python连接数据库,还需要安装MySQLdb模块,安装方法也很简单: sudo apt-get install MySQLdb 然后进入Python环境,import这个包,如果没有报

  • 用 Python 连接 MySQL 的几种方式详解

    尽管很多 NoSQL 数据库近几年大放异彩,但是像 MySQL 这样的关系型数据库依然是互联网的主流数据库之一,每个学 Python 的都有必要学好一门数据库,不管你是做数据分析,还是网络爬虫,Web 开发.亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Python 操作 MySQL 的几种方式,你可以在实际开发过程中根据实际情况合理选择. 1.MySQL-python MySQL-python 又叫 MySQLdb,是 Python 连接 M

  • 详解python读取和输出到txt

    读取txt的数据和把数据保存到txt中是经常要用到的,下面我就总结一下. 读txt文件 python常用的读取文件函数有三种read().readline().readlines() 以读取上述txt为例,我们一起来看一下三者的区别 read() 一次性读全部内容 read() #一次性读取文本中全部的内容,以字符串的形式返回结果 with open("test.txt", "r") as f: #打开文件 data = f.read() #读取文件 print(d

  • Python操作MySQL数据库9个实用实例

    在Windows平台上安装mysql模块用于Python开发 用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1.2.3.win32-py2.7.exe MySQL-python-1.2.3.win-amd64-py2.7.exe 实例 1.取得 MYSQL 的版本 # -*- coding: UTF-8 -*- #安装 MYSQL DB for python import MySQLdb as mdb con

  • python实现处理mysql结果输出方式

    在运维过程中,经常需要读取mysql的结果输出并进行响应的处理,这节介绍如何用Python读取mysql结果表并进行相应的整理. 进行mysql结果文件输出: mysql -h10.20.10.207 -uroot -ppasswd test -e "select sendorderid, (price*100),mob from interfacelog where merid='****' >/home/anan/interfacelog.txt ##这里写你需要执行的sql语句将结果

  • python tornado修改log输出方式

    sed -i 's/StreamHandler()/StreamHandler(sys.__stdout__)/' /opt/python/python3/lib/python3.6/site-packages/tornado/log.py 将手动打印的后台信息输出到stdout,重定向到文件 设置时区: timedatectl set-timezone 'Asia/Shanghai' 启动项目: nohup python3 cluster.py >> logs/deploy.log &

  • Python日志:自定义输出字段 json格式输出方式

    最近有一个需求:将日志以json格式输出, 并且有些字段是logging模块没有的.看了很多源码和资料, 终于搞定, 抽取精华分享出来, 一起成长. import json import logging class JsonFilter(logging.Filter): ip = 'IP' source = 'APP' def filter(self, record): record.ip = self.ip record.username = self.source return True i

  • 使用python连接mysql数据库数据方式

    目录 1.fetchone/fetchmany/fetchall 2.pandas.read_sql() 前言: 使用python连接mysql数据库数据 有以下两种读取数据的方式推荐: 一种是通过游标,及fetch系列方法进行操作,另一种是通过pandas的read_sql()进行读取并操作.各种方法各有优劣,可根据具体情形,择优选择使用. 示例如下: 1.fetchone/fetchmany/fetchall 获取一条.多条.全部条. import pymysql # 数据库相关信息 dbH

  • python 动态渲染 mysql 配置文件的示例

    背景 前段时间写了一个自动化安装 MySQL 的程序,其中有一个环节就是动态的渲染 my.cnf 文件:总的解决方案就是像 Django 渲染 html 页面一样,用渲染模板的方式来解决. [mysqld] basedir = {{basedir}} datadir = {{datadir}} port = {{port}} user = {{user}} 代码实现 我在渲染引擎的选择上使用了 jinja2 这个模板引擎,去掉其它逻辑一个最小化的代码如下. #!/usr/bin/env pyth

  • Python中操作mysql的pymysql模块详解

    前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文测试python版本:2.7.11.mysql版本:5.6.24 一.安装 pip3 install pymysql 二.使用操作 1.执行SQL #!/usr/bin/env pytho # -*- coding:utf-8 -*- import pymysql # 创建连接 conn = pymysql.connect(host=

  • MySql二进制连接方式详解

    使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库. 实例 以下是从命令行中连接mysql服务器的简单实例: 复制代码 代码如下: [root@host]# mysql -u root -p Enter password:****** 在登录成功后会出现 mysql> 命令提示窗口,你可以在上面执行任何 SQL 语句. 以上命令执行后,登录成功输出结果如下: Welcome to the MySQL monitor. Commands

  • Python实现屏幕截图的两种方式

    使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处是 灵活 速度快 缺点是: 写法繁琐 不跨平台 import time import win32gui, win32ui, win32con, win32api def window_capture(filename): hwnd = 0 # 窗口的编号,0号表示当前活跃窗口 # 根据窗口句柄获取窗口的设备上下文DC(Divice C

  • python利用numpy存取文件的方式

    NumPy提供了多种存取数组内容的文件操作函数.保存数组数据的文件可以是二进制格式或者文本格式.二进制格式的文件又分为NumPy专用的格式化二进制类型和无格式类型. numpy格式的文件可以保存为后缀为(.npy/.npz)格式的文件 1. tofile()和fromfile() tofile()将数组中的数据以二进制格式写进文件 tofile()输出的数据不保存数组形状和元素类型等信息 fromfile()函数读回数据时需要用户指定元素类型,并对数组的形状进行适当的修改 import nump

  • Python实现多线程的两种方式分析

    本文实例讲述了Python实现多线程的两种方式.分享给大家供大家参考,具体如下: 目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更加方便的被使用. 2.7版本之前python对线程的支持还不够完善,不能利用多核CPU,但是2.7版本的python中已经考虑改进这点,出现了multithreading  模块.threading模块里面主要是对一些

随机推荐