深度剖析Python包技术

开发 后端
Jython使Python包可以和Java一起工作,使开发者可以在Python里面调Java的包,也可以在Java里面使用Python的对象。

想要充分的掌握Python包的技术,那么就要对Python包中的结构、语句、变量、函数、预处理指令、输入和输出等内容进行了解掌握,下面文章进行学习研究。

通过提供用于操作数据库表的类和对象,对象关系映射工具有助于提高生产率。Python 最好的对象关系映射工具是 SQLObject —— 一个开放源码项目。它几乎完成编程数据库所需的所有操作。

本文介绍 SQLObject 及其功能。阅读本文后,您将能够不编写任何 SQL 代码而连接 Python 与数据库。 当面向对象编程范例满足大多数数据库的关系范例时,通常会看到对象关系映射。对象关系映射是这两个世界的桥梁。

它允许您定义与数据库表对应的类。然后您可以使用这些类及其实例上的方法来与数据库交互,而不用编写 SQL。使用对象关系映射并不意味着不需要知道关系数据库如何工作,而是不必要编写 SQL,从而避免编程错误。

您可以找到一打以上的操作 SQL 数据库的开放源码 Python包,这还没包括用于连接 Python 与特定数据库的特殊用途模块。SQLObject 是其中最好的模块。它是简单易用的完全对象关系映射包。SQLObject 几乎可以完成编程数据库所需的所有操作。

本文展示了 SQLObject 如何与数据库交互,如何使用 SQLObject 编写数据库访问和数据验证代码,SQLObject 具有一个 setup.py 文件,安装方式与其他任何 Python包一样。如果您使用的是 Python V2.2,则还需要安装 mxDateTime Python 包(SQLObject 使用 Python V2.3 的内置 datetime 模块,如果该模块可用的话)。

要实际使用 SQLObject,需要设置数据库包以及这种数据库的 Python 接口。SQLObject 连接多种数据库,其中包括三个大的开放源码产品:MySQL、PostgreSQL 和无服务器 SQLite。最后,需要为应用程序创建数据库。对于 SQLite,这意味着创建一个存储该数据库的文件。对于其他数据库,这意味着连接数据库服务器。

执行 CREATE DATABASE 命令,并授权数据库用户对新数据库的一些访问,以便 SQLObject 可以使用该用户帐户来连接。需要编写的第一个 Python 代码是数据库连接代码。基于所使用的数据库,这是惟一需要编写不同代码的地方。

例如,如果想让应用程序使用 SQLite 数据库,则需要将数据库文件的路径写入位于 sqlobject.sqlite 包的 SQLite 连接构建器中。如果数据库文件不存在,QLObject 将告诉 SQLite 创建一个,代码如下:

  1. mysql> use mysql;  
  2. Database changed  
  3. mysql> create database sqlobject_demo;  
  4. Query OK, 1 row affected (0.00 sec)  
  5. mysql> grant all privileges on sqlobject_demo to 'dbuser'@'localhost'   
  6. identified by 'dbpassword';  
  7. Query OK, 0 rows affected (0.00 sec)  
  8. mysql> flush privileges;  
  9. Query OK, 0 rows affected (0.00 sec)  

如果使用的是Python包或带有服务器的其他数据库,则将数据库连接信息传递到连接构建器中,清单 2 提供了在上一节创建的 MySQL 数据库的示例,希望本文能教会你更多东西。

责任编辑:chenqingxiang 来源: 博客园
相关推荐

2010-02-01 13:34:59

Python 脚本

2010-02-02 15:25:35

Python语法

2010-03-01 14:50:06

Python 工具

2010-03-01 18:33:30

2010-02-02 13:22:06

Python面向对象

2010-02-03 09:35:20

Python函数编程

2010-02-03 11:26:28

2010-02-26 10:38:29

Python语言

2010-02-24 16:33:28

Python功能

2010-02-26 17:44:40

Python测试框架

2010-02-23 10:05:52

Python历史

2010-02-22 13:53:22

Python 中文乱码

2023-02-21 15:26:26

自动驾驶特斯拉

2010-03-01 16:48:02

Python模块

2016-07-28 22:57:33

云计算Google

2010-09-13 09:52:50

内网安全数据加密技术

2021-05-13 11:54:07

数据湖阿里云

2010-02-01 14:05:03

2010-02-24 14:04:32

Python脚本语言

2010-03-01 17:40:29

Python面向对象语
点赞
收藏

51CTO技术栈公众号