總共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目錄的問題
而我們資料庫因需記錄時間所以也必須導入時間模組
執行結果
一開始數據庫不存在
在執行一次後因為資料庫存在了便顯示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