欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python+mysql實(shí)現(xiàn)簡(jiǎn)單的web程序

 更新時(shí)間:2014年09月11日 09:39:59   投稿:hebedich  
上篇文章我們介紹了簡(jiǎn)單的Python web程序,實(shí)現(xiàn)hello world,本文我們來(lái)結(jié)合一下mysql,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的簡(jiǎn)單操作,希望對(duì)大家有所幫助

這次要為我的python程序加上數(shù)據(jù)庫(kù),主要是實(shí)現(xiàn)從mysql中查詢出數(shù)據(jù)并在頁(yè)面上顯示出來(lái)。

首先是mysql的配置文件config.py

host="127.0.0.1"
user="root"
password=""
charset="utf8"
database="service"
port=3306

然后是從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)的aService.py

import MySQLdb
import sys
import config
class AService(object):
    def getA(self,id):
      conn = MySQLdb.connect(host=config.host,user=config.user,passwd=config.password,port=config.port,db=config.database,charset=config.charset)
      result=[]
      try:
        cursor = conn.cursor();
        cursor.execute("select id,code,title from test_a where id='%d'"%(id))
        result = cursor.fetchone()
      except Exception,e:
        print "System error: ",e
        result = "error"
      finally:
        cursor.close()
        conn.close()
      return result

其中cursor.execute()返回是執(zhí)行語(yǔ)句影響的行數(shù),剛開(kāi)始我以為是返回的結(jié)果,導(dǎo)致繞了很遠(yuǎn)的彎路。真正為返回結(jié)果的是cursor.fechone(),表示獲取執(zhí)行結(jié)果的第一條。同時(shí)還有cursor.fetchall(),表示獲取所有結(jié)果。如果獲取了多個(gè)字段的話,結(jié)果為數(shù)組類型,按照查詢結(jié)果的字段順序排序。

MySQLdb是python與數(shù)據(jù)庫(kù)連接的一個(gè)模塊。這個(gè)模塊并不是本來(lái)就存在的,需要下載并安裝到python得目錄下才行。MAC安裝這個(gè)模塊有個(gè)奇怪的要求,就是必須在本機(jī)安裝了mysql,即便實(shí)際上程序使用的外部的數(shù)據(jù)庫(kù)。在已安裝mysql的前提下,發(fā)現(xiàn)安裝mysqldb錯(cuò)誤,并報(bào)了mysql目錄找不到錯(cuò)誤時(shí),可用以下方法解決:

在用戶的home目錄下vi .profile

加入 export PATH=$PATH:/user/local/mysql/bin,退出并保存

再執(zhí)行source ./.profile命令并退出終端

這樣過(guò)后,在重新安裝mysqldb應(yīng)該就不會(huì)報(bào)找不到mysql目錄的錯(cuò)誤了。

接下來(lái)是主程序hello.py

import web
import aService
import sys
 
urls = ("/Service/A","hello")
app = web.application(urls,globals())
 
class hello:
    def GET(self):
        mservice = aService.AService()
        result = mservice.getA(1)
        json = ""
        json +="{"
        json +="'id':"+str(result[0])+","
        json +="'code':'"+result[1]+"',"
        json +="'title':'"+result[2]+"'"
        json +="}"
        return json;
if __name__=="__main__":
    app.run()

這個(gè)部分創(chuàng)建了一個(gè)訪問(wèn)路徑/Service/A,該路徑對(duì)應(yīng)的服務(wù)是hello類提供的。在這個(gè)類的get方法中調(diào)用了aService的getA方法。在頁(yè)面上顯示出一個(gè)json格式的文本。執(zhí)行步驟如下

終端:python hello.py 8080

瀏覽器:localhost:8080/Service/A

相關(guān)文章

  • Python3.7安裝pyaudio教程解析

    Python3.7安裝pyaudio教程解析

    這篇文章主要介紹了Python3.7安裝pyaudio教程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python astype(np.float)函數(shù)使用方法解析

    Python astype(np.float)函數(shù)使用方法解析

    這篇文章主要介紹了Python astype(np.float)函數(shù)使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python基于回溯法子集樹(shù)模板解決全排列問(wèn)題示例

    Python基于回溯法子集樹(shù)模板解決全排列問(wèn)題示例

    這篇文章主要介紹了Python基于回溯法子集樹(shù)模板解決全排列問(wèn)題,簡(jiǎn)單描述了全排列問(wèn)題并結(jié)合實(shí)例形式分析了Python使用回溯法子集樹(shù)模板解決全排列問(wèn)題的具體步驟與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2017-09-09
  • 基于Python實(shí)現(xiàn)格斗小游戲的示例代碼

    基于Python實(shí)現(xiàn)格斗小游戲的示例代碼

    格斗游戲,曾經(jīng)是街機(jī)廳里最火爆的游戲之一,甚至可以把“之一”去掉,那個(gè)年代的格斗游戲就是街機(jī)游戲的王。本文就來(lái)用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的格斗游戲,感興趣的可以了解一下
    2023-03-03
  • python連接FTP服務(wù)器的實(shí)現(xiàn)方法

    python連接FTP服務(wù)器的實(shí)現(xiàn)方法

    本文主要介紹了python連接FTP服務(wù)器的實(shí)現(xiàn)方法,主要使用ftp操作進(jìn)行連接FTP服務(wù)器、獲取當(dāng)前目錄文件清單、上傳文件等操作,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-06-06
  • Python使用pyinstaller實(shí)現(xiàn)學(xué)生管理系統(tǒng)流程

    Python使用pyinstaller實(shí)現(xiàn)學(xué)生管理系統(tǒng)流程

    pyinstaller是一個(gè)非常簡(jiǎn)單的打包python的py文件的庫(kù),下面這篇文章主要給大家介紹了關(guān)于Python?Pyinstaller庫(kù)安裝步驟以及使用方法的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Python實(shí)現(xiàn)GUI學(xué)生管理系統(tǒng)的示例代碼

    Python實(shí)現(xiàn)GUI學(xué)生管理系統(tǒng)的示例代碼

    這篇文章主要為大家介紹了如何留Python語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易的GUI學(xué)生管理系統(tǒng),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以參考下
    2022-06-06
  • 使用Tensorflow將自己的數(shù)據(jù)分割成batch訓(xùn)練實(shí)例

    使用Tensorflow將自己的數(shù)據(jù)分割成batch訓(xùn)練實(shí)例

    今天小編就為大家分享一篇使用Tensorflow將自己的數(shù)據(jù)分割成batch訓(xùn)練實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python分治法定義與應(yīng)用實(shí)例詳解

    Python分治法定義與應(yīng)用實(shí)例詳解

    這篇文章主要介紹了Python分治法定義與應(yīng)用,較為詳細(xì)的分析了Python分治法的概念、原理、用途,并結(jié)合實(shí)例總結(jié)了Python分治法的各種常見(jiàn)應(yīng)用,需要的朋友可以參考下
    2017-07-07
  • Python 轉(zhuǎn)換時(shí)間戳為指定格式日期

    Python 轉(zhuǎn)換時(shí)間戳為指定格式日期

    這篇文章主要為大家介紹了Python轉(zhuǎn)換時(shí)間戳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12

最新評(píng)論