關於peewee

peewee入門教程

總共3個py檔

分別為"資料庫","創建資料","讀取資料"

資料庫


import os      
from peewee import *    
from datetime import date   

fileName = 'data.db'    

db = SqliteDatabase(fileName)   

class Ball(Model):  
    name = CharField() 
    date = DateField()  
    speed = CharField() 
    class Meta:
        database = db   


if __name__=='__main__':    
    fileExist = os.path.isfile(fileName)    

    db.connect()        


    db.create_tables([Ball], safe=True) 

    if not fileExist:   

        print("create") 

        steven = Ball(name='steven', date=date(2017, 9, 30), speed='3m/s')   

        steven.save()   

    else:   
        print("read")   

        for ball in Ball.select():  
            print(ball.name, ball.date, ball.speed)


    db.close()  


os模組在python裡是用來處理一些檔案or路徑or目錄的問題

而我們資料庫因需記錄時間所以也必須導入時間模組

python os

python datatime

關於Meta

執行結果

一開始數據庫不存在

在執行一次後因為資料庫存在了便顯示read然後顯示出剛剛第一次執行創出來的資料

創建資料

from peewee import *  
from datetime import date
from data import Ball, db #導入data裡面寫好的資料表格式

if name=='main':
db.connect()

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
db.create_tables([Ball],safe=True)

print("create") #print create.

steven = Ball(name='steven', date=date(2017, 9, 30), speed='3m/s')  #創建一筆叫做steven的資料,沿用在data.py裡寫好的格式

steven.save()   # 將資料儲存在資料庫(database)裡

goodhaha = Ball(name='goodhaha', date=date(2017, 10, 1), speed='2m/s')

goodhaha.save()


db.close()

讀取資料


from peewee import *    
from data import Ball, db   

if __name__=='__main__':    .
    db.connect()    


    print("read")  

    db.create_tables([Ball], safe=True) 

    for ball in Ball.select():  #檢索資料

        print(ball.name, ball.date, ball.speed) #按照格式打印出資料



    db.close()  #disconnect database.


執行結果

注意!!

這裡的寫法為串聯寫法(一行一行執行,若是某行出錯,以下的程式都不會執行)

這樣不行

這樣才可以


Comments

comments powered by Disqus