自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度剖析Python包技術(shù)

開(kāi)發(fā) 后端
Jython使Python包可以和Java一起工作,使開(kāi)發(fā)者可以在Python里面調(diào)Java的包,也可以在Java里面使用Python的對(duì)象。

想要充分的掌握Python包的技術(shù),那么就要對(duì)Python包中的結(jié)構(gòu)、語(yǔ)句、變量、函數(shù)、預(yù)處理指令、輸入和輸出等內(nèi)容進(jìn)行了解掌握,下面文章進(jìn)行學(xué)習(xí)研究。

通過(guò)提供用于操作數(shù)據(jù)庫(kù)表的類和對(duì)象,對(duì)象關(guān)系映射工具有助于提高生產(chǎn)率。Python 最好的對(duì)象關(guān)系映射工具是 SQLObject —— 一個(gè)開(kāi)放源碼項(xiàng)目。它幾乎完成編程數(shù)據(jù)庫(kù)所需的所有操作。

本文介紹 SQLObject 及其功能。閱讀本文后,您將能夠不編寫任何 SQL 代碼而連接 Python 與數(shù)據(jù)庫(kù)。 當(dāng)面向?qū)ο缶幊谭独凉M足大多數(shù)數(shù)據(jù)庫(kù)的關(guān)系范例時(shí),通常會(huì)看到對(duì)象關(guān)系映射。對(duì)象關(guān)系映射是這兩個(gè)世界的橋梁。

它允許您定義與數(shù)據(jù)庫(kù)表對(duì)應(yīng)的類。然后您可以使用這些類及其實(shí)例上的方法來(lái)與數(shù)據(jù)庫(kù)交互,而不用編寫 SQL。使用對(duì)象關(guān)系映射并不意味著不需要知道關(guān)系數(shù)據(jù)庫(kù)如何工作,而是不必要編寫 SQL,從而避免編程錯(cuò)誤。

您可以找到一打以上的操作 SQL 數(shù)據(jù)庫(kù)的開(kāi)放源碼 Python包,這還沒(méi)包括用于連接 Python 與特定數(shù)據(jù)庫(kù)的特殊用途模塊。SQLObject 是其中最好的模塊。它是簡(jiǎn)單易用的完全對(duì)象關(guān)系映射包。SQLObject 幾乎可以完成編程數(shù)據(jù)庫(kù)所需的所有操作。

本文展示了 SQLObject 如何與數(shù)據(jù)庫(kù)交互,如何使用 SQLObject 編寫數(shù)據(jù)庫(kù)訪問(wèn)和數(shù)據(jù)驗(yàn)證代碼,SQLObject 具有一個(gè) setup.py 文件,安裝方式與其他任何 Python包一樣。如果您使用的是 Python V2.2,則還需要安裝 mxDateTime Python 包(SQLObject 使用 Python V2.3 的內(nèi)置 datetime 模塊,如果該模塊可用的話)。

要實(shí)際使用 SQLObject,需要設(shè)置數(shù)據(jù)庫(kù)包以及這種數(shù)據(jù)庫(kù)的 Python 接口。SQLObject 連接多種數(shù)據(jù)庫(kù),其中包括三個(gè)大的開(kāi)放源碼產(chǎn)品:MySQL、PostgreSQL 和無(wú)服務(wù)器 SQLite。最后,需要為應(yīng)用程序創(chuàng)建數(shù)據(jù)庫(kù)。對(duì)于 SQLite,這意味著創(chuàng)建一個(gè)存儲(chǔ)該數(shù)據(jù)庫(kù)的文件。對(duì)于其他數(shù)據(jù)庫(kù),這意味著連接數(shù)據(jù)庫(kù)服務(wù)器。

執(zhí)行 CREATE DATABASE 命令,并授權(quán)數(shù)據(jù)庫(kù)用戶對(duì)新數(shù)據(jù)庫(kù)的一些訪問(wèn),以便 SQLObject 可以使用該用戶帳戶來(lái)連接。需要編寫的第一個(gè) Python 代碼是數(shù)據(jù)庫(kù)連接代碼?;谒褂玫臄?shù)據(jù)庫(kù),這是惟一需要編寫不同代碼的地方。

例如,如果想讓應(yīng)用程序使用 SQLite 數(shù)據(jù)庫(kù),則需要將數(shù)據(jù)庫(kù)文件的路徑寫入位于 sqlobject.sqlite 包的 SQLite 連接構(gòu)建器中。如果數(shù)據(jù)庫(kù)文件不存在,QLObject 將告訴 SQLite 創(chuàng)建一個(gè),代碼如下:

  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包或帶有服務(wù)器的其他數(shù)據(jù)庫(kù),則將數(shù)據(jù)庫(kù)連接信息傳遞到連接構(gòu)建器中,清單 2 提供了在上一節(jié)創(chuàng)建的 MySQL 數(shù)據(jù)庫(kù)的示例,希望本文能教會(huì)你更多東西。

責(zé)任編輯:chenqingxiang 來(lái)源: 博客園
相關(guān)推薦

2010-03-01 14:50:06

Python 工具

2010-03-01 18:33:30

2010-02-02 15:25:35

Python語(yǔ)法

2010-02-01 13:34:59

Python 腳本

2023-02-21 15:26:26

自動(dòng)駕駛特斯拉

2010-02-26 17:44:40

Python測(cè)試框架

2010-02-22 13:53:22

Python 中文亂碼

2010-02-23 10:05:52

Python歷史

2010-02-02 13:22:06

Python面向?qū)ο?/a>

2010-02-26 10:38:29

Python語(yǔ)言

2010-02-03 09:35:20

Python函數(shù)編程

2010-02-03 11:26:28

2010-02-24 16:33:28

Python功能

2010-02-01 14:05:03

2010-03-01 17:40:29

Python面向?qū)ο笳Z(yǔ)

2010-02-24 14:04:32

Python腳本語(yǔ)言

2010-02-23 10:50:11

Python 測(cè)試框架

2021-05-13 11:54:07

數(shù)據(jù)湖阿里云

2016-07-28 22:57:33

云計(jì)算Google

2010-09-13 09:52:50

內(nèi)網(wǎng)安全數(shù)據(jù)加密技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)