`
crazier9527
  • 浏览: 1011119 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Python写的数据抽象层

阅读更多

python本身没有对mysql的支持,得依赖附加的库 http://mysql-python.sourceforge.net 。很多框架采用了这个库,比如adodb,django等。不过我倾向于自己写这些东西,所以小研究了一下。 mysql-python 有两个对象 MySQLdb _mysql 这里是介绍http://mysql-python.sourceforge.net/MySQLdb.html,我使用的是 MySQLdb 对象

 

#!/D:\python25\python.exe
import MySQLdb
 
class Mysql(object):
    handle = ''
    query = ''
    exectime = 0
    effected = 0
 
    def __init__( self , hostname , username , password , database ):
        db = MySQLdb.connect( host = hostname , user = username , passwd = password , db = database )
        self.handle = db.cursor()
        
    def query( self , sql = '' ):
        return self.handle.execute( sql )
 
    def fetch( self , sql = '' ):
        self.handle.execute( sql )
        rs = self.handle.fetchone()
        count = 0
        result = {}
        for colnum in self.handle.description:
            result[colnum[0]] = rs[count]
            count += 1
        return result
    
    def fetchAll( self , sql = '' ):
        self.handle.execute( sql )
        result = {}
        bigcount = 0
        for recordline in self.handle.fetchall():
            littlecount = 0
            result[bigcount] = {}
            for colnum in self.handle.description:
                result[bigcount][colnum[0]] = recordline[littlecount]
                littlecount += 1
            bigcount += 1
        return result
 
    def insertID( self ):
          self.handle.execute("SELECT LAST_INSERT_ID() AS lid")
          rs = self.handle.fetchone()
          return rs[0]
 
    def close( self ):
          self.handle.close()
          pass
#DEMO
db = Mysql('localhost','root','123456','frame')
db.fetchAll('select * from user')
#rs = db.fetchAll('select * from user')
#sql = "INSERT INTO tags (module,fid,name,note,`order`) VALUE ('test',1,'fd','ds',1)"
#db.query(sql)
#print db.insertID()

 

分享到:
评论
2 楼 crazier9527 2009-05-19  
有待改进
1 楼 phyeas 2009-05-19  

泼下冷水,抽象程度好像还不够……

相关推荐

    Python-pyfilesystem2一个Python的文件系统抽象层

    **Python-pyfilesystem2:构建灵活的文件系统操作** `pyfilesystem2` 是一个非常有用的 Python 库,它提供了一个统一的接口来处理各种类型的文件系统...通过使用这一抽象层,开发者可以编写出更加简洁、可维护的代码。

    Python数据结构与算法分析(第2版)1

    【Python数据结构与算法分析(第2版)】是一本专为Python程序员设计的书籍,旨在帮助读者深入了解数据结构和算法在Python环境中的应用。作者布拉德利·米勒和戴维·拉努姆以其丰富的实战经验,清晰地阐述了如何高效...

    Python-abf抽象操纵二进制格式ELFPEandMachOformat

    "Python-abf抽象操纵二进制格式ELFPEandMachOformat"是一个项目,旨在提供对三种主要的二进制文件格式——ELF(Executable and Linkable Format)、PE(Portable Executable)和Mach-O(Mach Object)的抽象层进行...

    基于Python的数据结构课程.pdf

    另一方面,Python的高抽象度可能会导致学生对数据结构的底层实现不够了解,例如Python中的列表和字典虽然使用方便,但其底层实现涉及到复杂的数据存储和访问机制。 在教学内容和方法上,裘宗燕教授提出,基于Python...

    Python-dbpy灵感来自webpy和drupal通用数据库抽象层

    Python的dbpy是一个灵感来源于webpy和drupal的通用数据库抽象层,它的设计目标是提供一个灵活且易于使用的接口,让开发者能够轻松地在不同的Web框架(如tornado)和其他环境中处理数据库操作。ORM(Object-...

    Python中的硬件抽象,重点是EPICS_python_代码_下载

    它提供了一个抽象层,使实验编排和数据采集代码能够在特定设备和控制系统的细节之上运行。 Ophyd 通常与Bluesky Run Engine一起用于实验编排和数据采集。它有时也以独立的方式使用。 许多设施使用ophyd 与使用...

    基于Python的SQL Server海量数据转移的研究与实现.pdf

    它可以作为一个抽象层,将用户对数据的复杂查询简化。使用视图可以隐藏数据的复杂性,简化和定制用户对数据库的访问。 最后,文章中的具体实现涉及到利用Python编程语言对SQL Server数据库进行操作,包括数据的读取...

    python脚本编写Verilog文件

    3. **自定义模板引擎**:你可以使用Python的`template`库或者第三方库如`jinja2`创建模板,这些模板可以包含Verilog代码结构,然后用Python数据填充,生成完整的Verilog模块。 4. **Verilog语法解析**:Python也...

    pydal:纯Python数据库抽象层

    pyDAL是纯Python数据库抽象层。 它使用数据库后端的指定方言实时动态生成SQL / noSQL,因此您不必编写SQL代码或学习其他SQL方言(通常使用术语SQL),并且您的代码可在不同语言之间移植。数据库类型。 pyDAL来自...

    python读取excel数据-两个第三方库的示例

    - pandas库则提供了更高层次的数据抽象,对于数据分析和数据清洗任务更加方便,但读取速度相对较慢。 在实际使用中,你可以根据项目需求选择合适的库。如果只需要简单的读取和处理数据,pandas通常更为合适;而如果...

    Python课后题答案.docx

    - **高级语言**:Python是一种高级语言,抽象层次较高,接近人类自然语言。 - **可移植性**:Python程序无需修改即可在多种平台上运行。 - **解释性**:Python程序在执行时由解释器逐行解释执行。 - **面向对象*...

    使用 python 学习数据结构与算法.zip

    而Python的高抽象层次则能让你快速上手实践,提高学习效率。 总之,这个资源包"使用Python学习数据结构与算法.zip"是全面学习数据结构和算法的宝贵材料,无论你是Python初学者还是寻求进一步提升的开发者,都能从中...

    基于OpenAPI的Python空气质量监测数据程序设计.pdf

    Python提供了针对网络协议的标准库,对网络协议的各个层次进行了抽象封装,从而使得程序员可以将精力集中在程序逻辑的处理上。此外,Python在处理字节流的各种模式上表现出色,开发速度快。 文中还提到了Python在多...

    基于Python的51-job数据抓取程序设计.pdf

    综上所述,文章介绍了基于Python的51-job数据抓取程序的设计与实现过程,强调了Python在数据抓取领域的应用优势,并通过实验验证了程序的效率和实用性。该程序不仅能够帮助用户快速获取职位信息,还为后续的数据分析...

    基于Python实现生产数据可视化可行性分析.pdf

    它能够将复杂、抽象的数据转化为直观的图形,使得非专业人员也能够理解和分析数据。在生产调度领域,通过数据可视化技术,可以将各种生产数据如设备状态、运行参数等以图表的形式展示出来,帮助值班人员快速把握当前...

    Python基础教程(第3版)中文版pdf(清晰版,带目录)

    本书是经典的Python入门教程,层次鲜明、结构严谨、内容翔实,特别是后面几章,作者将前面讲述的内容应用到10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程,手把手教授Python编程实践,让读者从项目中...

    Python数据结构基础

    此外,Python还提供了高级抽象如栈、队列、树、图等,可以通过标准库或者第三方库来实现,这些抽象在算法和程序设计中应用广泛。例如,在Python中,可以使用内置的list数据类型来模拟栈(通过append()和pop()方法)...

    用Python设计芯片.zip_asic_python

    5. **数据可视化**:Python有强大的数据处理和可视化库,如Matplotlib和Pandas,可以帮助设计师理解和解释设计结果。 6. **协同开发工具**:Python可以构建版本控制系统接口,如Git,使得团队合作更加高效。 ...

    DBN1_DNNPYTHON_

    DBN通过逐层贪婪地学习数据的特征表示,可以捕获数据的高层抽象特性。 DBN的训练过程通常包括两个阶段:预训练和微调。在预训练阶段,每个RBM独立地学习输入数据的特征,然后这些学习到的权重被传递到下一个RBM层。...

    基于tensorflow的手写体识别python源码(附数据集)

    CNN是一种特殊的神经网络,特别适合处理图像数据,因为它可以捕获局部特征并进行空间抽象。在这个项目中,我们将构建一个简单的两层CNN模型。这两层卷积层通常会包含卷积操作、激活函数(如ReLU)、池化层(如最大...

Global site tag (gtag.js) - Google Analytics