目录机构如下:

dbutil代码如下:

#!/usr/bin/python
# -*- coding:utf-8 -*- import configparser
import pymysql class dbutil:
# dbsection为配置文件中的section
def __init__(self,dbsection):
self._conn=self.dbConn(dbsection)
if(self._conn):
self._cursor=self._conn.cursor()
def dbConn(self,dbsection):
#读取db.ini文件
cf = configparser.ConfigParser()
cf.read("../config/db.ini")
dbhost = cf.get(dbsection,"host")
dbport = cf.getint(dbsection,"port")
dbuser = cf.get(dbsection,"user")
dbpassword = cf.get(dbsection,"password")
dbname = cf.get(dbsection,"dbname")
dbcharset = cf.get(dbsection,"charset") #开始数据库连接
try:
conn = pymysql.Connect(host=dbhost,port=dbport,user=dbuser,passwd=dbpassword,db=dbname,charset=dbcharset)
except:
print("连接失败 host=%s,port=%d,user=%s,dbpassword=%s,db=%s"%(dbhost,dbport,dbuser,dbpassword,dbname))
conn=False
return conn # 获取查询结果集
def fetch_all(self, sql):
res = ''
if (self._conn):
try:
self._cursor.execute(sql)
res = self._cursor.fetchall()
except Exception as data:
res = False
print("query database exception, %s" % data)
return res # 执行更新语句
def update(self, sql):
flag = False
if (self._conn):
try:
self._cursor.execute(sql)
self._conn.commit()
flag = True
except Exception as data:
flag = False
print("update database exception, %s" % data)
return flag # 关闭数据库连接
def close(self):
if (self._conn):
# print(type(self._conn)=='object')
try:
# if (type(self._cursor) == 'object'):
self._cursor.close()
# if (type(self._conn) == 'object'):
self._conn.close()
except Exception as data:
print("close database exception, %s,%s,%s" % (data, type(self._cursor), type(self._conn))) if __name__=="__main__":
dbutil=dbutil("biz_mysql")
res=dbutil.fetch_all("select * from wm_people limit %d"%(2))
dbutil.close()
print(len(res))
for dd in res:
print(dd[0])

对应的db.ini如下

[biz_mysql]
host = 10.15.17.xxx
port = 3306
user = xxx
password = 123456
dbname = xxx
charset = utf8 [data_mysql]
host = 10.15.17.xxx
port = 3306
user = biz
password = 123456
dbname = xxx
charset = utf8

python的dbutil的更多相关文章

  1. python环境测试MySQLdb、DBUtil、sqlobject性能

    python环境测试MySQLdb.DBUtil.sqlobject性能 首先介绍下MySQLdb.DBUtil.sqlobject: (1)MySQLdb 是用于Python连接Mysql数据库的接 ...

  2. python Cmd实例之网络爬虫应用

    python Cmd实例之网络爬虫应用 标签(空格分隔): python Cmd 爬虫 废话少说,直接上代码 # encoding=utf-8 import os import multiproces ...

  3. java 调用 python 脚本

    有时候在java项目里,需要执行Python脚本以下几种方式: 1.直接执行Python脚本代码 引用 org.python包 创建一个 python解释器,貌似这种方式不可以导入第三方库,模块... ...

  4. python学习 day15打卡 初识面向对象

    本节主要内容: 1.面向对象和面向过程 2.面向对象如何编写 3.面向对象和面向过程的对比 4.面向对象的三大特征 一.面向对象和面向过程(重点理解) 1.面向过程:一切以事物的流程为核心.核心是&q ...

  5. python mysql模块

    多次使用python操作mysql数据库,先与大家分享一下,关于如何使用python操作mysql数据库.mysql并不是python自带的模块,因此需要下载安装.(在windows平台下介绍该使用过 ...

  6. Python 单元测试 增强系统健壮性

    问题背景交代 注意,JulyNovel只爬取免费小说,所有vip章节全部导航至起点网站,遵循robots协议,所有数据仅供学习用途,侵删 通过编写单元测试,提高JulyNovel系统可靠性 首先我们知 ...

  7. Python的scrapy之爬取顶点小说网的所有小说

    闲来无事用Python的scrapy框架练练手,爬取顶点小说网的所有小说的详细信息. 看一下网页的构造: tr标签里面的 td 使我们所要爬取的信息 下面是我们要爬取的二级页面 小说的简介信息: 下面 ...

  8. python学习笔记:第15天 初识面向对象

    目录 1. 面向对象和面向过程 2. 面向对象如何编写: 3. 面向对象的三大特征 封装 继承 多态 1. 面向对象和面向过程 面向对象和面向过程的理解: ⾯向过程: ⼀切以事物的流程为核⼼. 核⼼是 ...

  9. Python的scrapy之爬取boss直聘网站

    在我们的项目中,单单分析一个51job网站的工作职位可能爬取结果不太理想,所以我又爬取了boss直聘网的工作,不过boss直聘的网站一次只能展示300个职位,所以我们一次也只能爬取300个职位. jo ...

随机推荐

  1. Fruit Ninja(取随机数)

    链接:https://www.nowcoder.com/acm/contest/163/A来源:牛客网 时间限制:C/C++ 5秒,其他语言10秒 空间限制:C/C++ 262144K,其他语言524 ...

  2. PAT (Basic Level) Practise (中文)- 1018. 锤子剪刀布 (20)

    http://www.patest.cn/contests/pat-b-practise/1018 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统 ...

  3. Android驱动开发读书笔记五

    第五章 本章介绍了S3C6410开发板的功能,开发板的不同主要是在烧录嵌入式系统的方式不同,以及如何在此开发板上安装Android. 1.安装串口调试工具minicom 首先需要一根USB转串口线,由 ...

  4. spartan6不能直接把时钟连到IO上

    1.问题的提出:spartan6中不允许时钟信号直接连到IO口上面? 2.解决办法: ODDR2的使用 ODDR2Primitive: Double Data Rate Output D Flip-F ...

  5. Linux入门学习笔记1:VI常用命令

    常用命令 yy 复制 p 黏贴 shift+v 多行选中 shift+ctrl+< 左移 shift+ctrl+> 右移 ndd 删除光标所在行及其后n-1行 i 进入编辑状态 esc 退 ...

  6. python解析库之 XPath

    1. XPath (XML Path Language) XML路径语言 2. XPath 常用规则: nodename    选取此节点的所有子节点 /                    从当前 ...

  7. python数据类型之集合(set)和其常用方法

    集合是一个无序的,不重复的数据组合 作用(集合的重点):1.去重,把一个列表变成集合就自动去重了2.关系测试,测试两组数据库之前的交集.差集.并集等关系 s = {1, 1, 2, 2, 3, 4, ...

  8. ubuntu更新内核后卡在自检无法开机的解决方法

    下载deb包安装,重启后卡在自检,黑屏. 重启进旧内核,仍然卡在自检,黑屏. 强制关机后再重启,在grub按e修改启动项,改成直接进命令行模式.使用 sudo apt-get remove linux ...

  9. window 7上安装Visual Studio 2017失败的解决方法

    今天在办公电脑上windows 7系统上装Visual Studio 2017企业版的时候遇到了一个让人懵逼的错误. 为啥说懵逼呢,因为昨天楼主在台式机上同样安装2017没有任何问题啊,台式机上是wi ...

  10. Linux的档案权限与目录配置练习题

    1.请说明/bin与/usr/bin目录所防止的执行文件有何不同之处:/bin主要放置在开机时,以及进入单人维护模式后还能够被使用的指令,至于/usr/bin则是大部分软件提供的指令放置处 2.请说明 ...