真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

pythonmdb函數(shù) python lmdb

Python:map函數(shù)用法詳解

?一個簡單的例子:將一個list中所有元素平方,常規(guī)的做法如下圖所示,雖然實(shí)現(xiàn)了這個功能,但并沒有給人一目了然的感覺。若換成map來實(shí)現(xiàn),則會好很多。

烏翠網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),烏翠網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為烏翠上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的烏翠做網(wǎng)站的公司定做!

1、map函數(shù)介紹及其簡單使用

上述用一個簡單的例子演示的map函數(shù)的用法及其優(yōu)勢,下面將詳細(xì)介紹map函數(shù)的用法:map()函數(shù)接收兩個參數(shù),一個是函數(shù),一個是Iterable,map將傳入的函數(shù)依次作用到序列的每一個元素,并把結(jié)果作為新的Iterable返回。其語法格式為:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? map(function,iterable...)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? function---函數(shù)名

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? iterable---一個或多個序列

map作為高階函數(shù),事實(shí)上它把運(yùn)算規(guī)則抽象了,我們可以用這種方式計算任意復(fù)雜的函數(shù),再比如,把一個list的所有數(shù)據(jù)轉(zhuǎn)為string類型:

再舉一個小例子,對list中的各個元素開方,一步到位:

!注意:在使用math自帶函數(shù)時,只需要函數(shù)名即可

2、map函數(shù)與lambda函數(shù)結(jié)合使用,下面方法同樣可以達(dá)到對list中的數(shù)二次方的目的

map函數(shù)與lambda函數(shù)結(jié)合使用,可以傳入兩個參數(shù)相加:

還可以同時計算多個值:

python怎么處理mysql dmp文件

在Windows平臺上安裝mysql模塊用于Python開發(fā)

用python連接mysql的時候,需要用的安裝版本,源碼版本容易有錯誤提示。下邊是打包了32與64版本。?

MySQL-python-1.2.3.win32-py2.7.exe?

MySQL-python-1.2.3.win-amd64-py2.7.exe

實(shí)例 1、取得 MYSQL 的版本

# -*- coding: UTF-8 -*-

#安裝 MYSQL DB for python

import MySQLdb as mdb

con = None

try:

#連接 mysql 的方法: connect('ip','user','password','dbname')

con = mdb.connect('localhost', 'root','root', 'test');

#所有的查詢,都在連接 con 的一個模塊 cursor 上面運(yùn)行的

cur = con.cursor()

#執(zhí)行一個查詢

cur.execute("SELECT VERSION()")

#取得上個查詢的結(jié)果,是單個結(jié)果

data = cur.fetchone()

print "Database version : %s " % data

finally:

if con:

#無論如何,連接記得關(guān)閉

con.close()

實(shí)例 2、創(chuàng)建一個表并且插入數(shù)據(jù)

import MySQLdb as mdb

import sys

#將 con 設(shè)定為全局連接

con = mdb.connect('localhost', 'root', 'root', 'test');

with con:

#獲取連接的 cursor,只有獲取了 cursor,我們才能進(jìn)行各種操作

cur = con.cursor()

#創(chuàng)建一個數(shù)據(jù)表 writers(id,name)

cur.execute("CREATE TABLE IF NOT EXISTS \

Writers(Id INT PRIMARY KEY AUTO_INCREMENT, Name VARCHAR(25))")

#以下插入了 5 條數(shù)據(jù)

cur.execute("INSERT INTO Writers(Name) VALUES('Jack London')")

cur.execute("INSERT INTO Writers(Name) VALUES('Honore de Balzac')")

cur.execute("INSERT INTO Writers(Name) VALUES('Lion Feuchtwanger')")

cur.execute("INSERT INTO Writers(Name) VALUES('Emile Zola')")

cur.execute("INSERT INTO Writers(Name) VALUES('Truman Capote')")

實(shí)例 3、 python 使用 slect 獲取 mysql 的數(shù)據(jù)并遍歷

import MySQLdb as mdb

import sys

#連接 mysql,獲取連接的對象

con = mdb.connect('localhost', 'root', 'root', 'test');

with con:

#仍然是,第一步要獲取連接的 cursor 對象,用于執(zhí)行查詢

cur = con.cursor()

#類似于其他語言的 query 函數(shù), execute 是 python 中的執(zhí)行查詢函數(shù)

cur.execute("SELECT * FROM Writers")

#使用 fetchall 函數(shù),將結(jié)果集(多維元組)存入 rows 里面

rows = cur.fetchall()

#依次遍歷結(jié)果集,發(fā)現(xiàn)每個元素,就是表中的一條記錄,用一個元組來顯示

for row in rows:

print row

運(yùn)行結(jié)果:

(1L, ‘Jack London')

(2L, ‘Honore de Balzac')

(3L, ‘Lion Feuchtwanger')

(4L, ‘Emile Zola')

(5L, ‘Truman Capote')

上面的代碼,用來將所有的結(jié)果取出,不過打印的時候是每行一個元祖打印,現(xiàn)在我們使用方法,取出其中的單個數(shù)據(jù):

import MySQLdb as mdb

import sys

#獲取 mysql 的鏈接對象

con = mdb.connect('localhost', 'root', 'root', 'test');

with con:

#獲取執(zhí)行查詢的對象

cur = con.cursor()

#執(zhí)行那個查詢,這里用的是 select 語句

cur.execute("SELECT * FROM Writers")

#使用 cur.rowcount 獲取結(jié)果集的條數(shù)

numrows = int(cur.rowcount)

#循環(huán) numrows 次,每次取出一行數(shù)據(jù)

for i in range(numrows):

#每次取出一行,放到 row 中,這是一個元組(id,name)

row = cur.fetchone()

#直接輸出兩個元素

print row[0], row[1]

運(yùn)行結(jié)果:

1 Jack London

2 Honore de Balzac

3 Lion Feuchtwanger

4 Emile Zola

5 Truman Capote

實(shí)例 4、使用字典 cursor 取得結(jié)果集(可以使用表字段名字訪問值)

import MySQLdb as mdb

import sys

#獲得 mysql 查詢的鏈接對象

con = mdb.connect('localhost', 'root', 'root', 'test')

with con:

#獲取連接上的字典 cursor,注意獲取的方法,

#每一個 cursor 其實(shí)都是 cursor 的子類

cur = con.cursor(mdb.cursors.DictCursor)

#執(zhí)行語句不變

cur.execute("SELECT * FROM Writers")

#獲取數(shù)據(jù)方法不變

rows = cur.fetchall()

#遍歷數(shù)據(jù)也不變(比上一個更直接一點(diǎn))

for row in rows:

#這里,可以使用鍵值對的方法,由鍵名字來獲取數(shù)據(jù)

print "%s %s" % (row["Id"], row["Name"])

實(shí)例 5、獲取單個表的字段名和信息的方法

import MySQLdb as mdb

import sys

#獲取數(shù)據(jù)庫的鏈接對象

con = mdb.connect('localhost', 'root', 'root', 'test')

with con:

#獲取普通的查詢 cursor

cur = con.cursor()

cur.execute("SELECT * FROM Writers")

rows = cur.fetchall()

#獲取連接對象的描述信息

desc = cur.description

print 'cur.description:',desc

#打印表頭,就是字段名字

print "%s %3s" % (desc[0][0], desc[1][0])

for row in rows:

#打印結(jié)果

print "%2s %3s" % row

運(yùn)行結(jié)果:

cur.description: ((‘Id', 3, 1, 11, 11, 0, 0), (‘Name', 253, 17, 25, 25, 0, 1))

Id Name

1 Jack London

2 Honore de Balzac

3 Lion Feuchtwanger

4 Emile Zola

5 Truman Capote

實(shí)例 6、使用 Prepared statements 執(zhí)行查詢(更安全方便)

import MySQLdb as mdb

import sys

con = mdb.connect('localhost', 'root', 'root', 'test')

with con:

cur = con.cursor()

#我們看到,這里可以通過寫一個可以組裝的 sql 語句來進(jìn)行

cur.execute("UPDATE Writers SET Name = %s WHERE Id = %s",

("Guy de Maupasant", "4"))

#使用 cur.rowcount 獲取影響了多少行

print "Number of rows updated: %d" % cur.rowcount

結(jié)果:

Number of rows updated: 1

實(shí)例 7、把圖片用二進(jìn)制存入 MYSQL

有人喜歡把圖片存入 MYSQL(這種做法貌似很少吧),我看大部分的程序,圖片都是存放在服務(wù)器上的文件,數(shù)據(jù)庫中存的只是圖片的地址而已,不過 MYSQL 是支持把圖片存入數(shù)據(jù)庫的,也相應(yīng)的有一個專門的字段 BLOB (Binary Large Object),即較大的二進(jìn)制對象字段,請看如下程序,注意測試圖片自己隨便找一個,地址要正確:?

首先,在數(shù)據(jù)庫中創(chuàng)建一個表,用于存放圖片:

復(fù)制代碼代碼如下:

CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCREMENT, Data MEDIUMBLOB);

然后運(yùn)行如下 PYTHON 代碼進(jìn)行:

import MySQLdb as mdb

import sys

try:

#用讀文件模式打開圖片

fin = open("../web.jpg")

#將文本讀入 img 對象中

img = fin.read()

#關(guān)閉文件

fin.close()

except IOError, e:

#如果出錯,打印錯誤信息

print "Error %d: %s" % (e.args[0],e.args[1])

sys.exit(1)

try:

#鏈接 mysql,獲取對象

conn = mdb.connect(host='localhost',user='root',passwd='root',

db='test')

#獲取執(zhí)行 cursor

cursor = conn.cursor()

#直接將數(shù)據(jù)作為字符串,插入數(shù)據(jù)庫

cursor.execute("INSERT INTO Images SET Data='%s'" %

mdb.escape_string(img))

#提交數(shù)據(jù)

conn.commit()

#提交之后,再關(guān)閉 cursor 和鏈接

cursor.close()

conn.close()

except mdb.Error, e:

#若出現(xiàn)異常,打印信息

print "Error %d: %s" % (e.args[0],e.args[1])

sys.exit(1)

實(shí)例 8、從數(shù)據(jù)庫中把圖片讀出來

import MySQLdb as mdb

import sys

try:

#連接 mysql,獲取連接的對象

conn = mdb.connect('localhost', 'root', 'root', 'test');

cursor = conn.cursor()

#執(zhí)行查詢該圖片字段的 SQL

cursor.execute("SELECT Data FROM Images LIMIT 1")

#使用二進(jìn)制寫文件的方法,打開一個圖片文件,若不存在則自動創(chuàng)建

fout = open('image.png','wb')

#直接將數(shù)據(jù)如文件

fout.write(cursor.fetchone()[0])

#關(guān)閉寫入的文件

fout.close()

#釋放查詢數(shù)據(jù)的資源

cursor.close()

conn.close()

except IOError, e:

#捕獲 IO 的異常 ,主要是文件寫入會發(fā)生錯誤

print "Error %d: %s" % (e.args[0],e.args[1])

sys.exit(1)

實(shí)例 9、使用 Transaction 即事務(wù)(手動提交,自動回滾)

import MySQLdb as mdb

import sys

try:

#連接 mysql,獲取連接的對象

conn = mdb.connect('localhost', 'root', 'root', 'test');

cursor = conn.cursor()

#如果某個數(shù)據(jù)庫支持事務(wù),會自動開啟

#這里用的是 MYSQL,所以會自動開啟事務(wù)(若是 MYISM 引擎則不會)

cursor.execute("UPDATE Writers SET Name = %s WHERE Id = %s",

("Leo Tolstoy", "1"))

cursor.execute("UPDATE Writers SET Name = %s WHERE Id = %s",

("Boris Pasternak", "2"))

cursor.execute("UPDATE Writer SET Name = %s WHERE Id = %s",

("Leonid Leonov", "3"))

#事務(wù)的特性 1、原子性的手動提交

conn.commit()

cursor.close()

conn.close()

except mdb.Error, e:

#如果出現(xiàn)了錯誤,那么可以回滾,就是上面的三條語句要么執(zhí)行,要么都不執(zhí)行

conn.rollback()

print "Error %d: %s" % (e.args[0],e.args[1])

結(jié)果:?

1、因?yàn)椴淮嬖?writer 表( SQL 第三條語句),所以出現(xiàn)錯誤:Error 1146: Table ‘test.writer' doesn't exist?

2、出現(xiàn)錯誤,出發(fā)異常處理, 3 條語句的前兩條會自動變成了沒有執(zhí)行,結(jié)果不變?

3、如果本代碼放到一個 MyISAM 引擎表,前兩句會執(zhí)行,第三句不會;如果是 INNDB 引擎,則都不會執(zhí)行。

python獲取mdb文件指定列

1、首先,打開python軟件,進(jìn)入主界面,然后點(diǎn)擊左上方的文件。

2、其次,在文件中,找到mdb文件,點(diǎn)擊導(dǎo)入。

3、最后,導(dǎo)入之后,點(diǎn)擊獲取指定列即可。

python讀取mdb要素集中要素個數(shù)

?C:\Python27\ArcGIS10.7\python.exe。

并使用下述代碼進(jìn)行測試,發(fā)現(xiàn)能夠?qū)db中要素數(shù)據(jù)集名稱獲取到。

Python是計算機(jī)語言的一種,所謂計算機(jī)語言就是能夠和計算溝通的語言。人與人之間溝通會將漢語,英語,法語等等。

python讀取mdb文件需要什么環(huán)境

linux環(huán)境。python讀取mdb文件需要linux環(huán)境,用的包是meza,通過mdbtools讀取,Python是一種跨平臺的計算機(jī)程序設(shè)計語言,被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。


當(dāng)前題目:pythonmdb函數(shù) python lmdb
URL地址:http://weahome.cn/article/hjehpp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部