import datetime
today = datetime.date.today(
)today.year
out[10]
:2020
today.month
out[11]
:2today.day
out[12]
:15
datetime.datetime.now(
)out[13]
: datetime.datetime(
2020,2
,15,16
,38,30
,539044
)
s =
'2018-5-14'
datetime.datetime.strptime(s,
'%y-%m-%d'
)out[15]
: datetime.datetime(
2018,5
,14,0
,0)
5).時間跨度處理:datetime.timedelta(days,seconds),兩個引數分別表示時間跨度的天數和秒數:
begin = datetime.datetime(
2019,3
,12,12
,8)begin + datetime.timedelta(
320,
3600
)out[17]
: datetime.datetime(
2020,1
,26,13
,8)
1.概述:實際程式設計過程中,需要將記憶體中的檔案儲存下來,以便下次繼續使用,這就涉及到資料的序列化和反序列化。
2.扁平檔案:如文字檔案,儲存的都是字串格式,寫入時需要用str進行型別轉換,而讀出時預設時字串型別,需要用python內建的eval()函式轉換為python表示式:
# 假設data.txt檔案中只儲存了一行列表
with
open
('data.txt'
,'r'
,encoding=
'utf8'
)as f:
l =eval
(f.read())
print
(l)
注:實際程式設計中,文字檔案一般只儲存字串型別的資料。
3.pkl檔案:匯入pickle模組
pickle.dumps(obj)----將物件序列化為字串
pickle.loads(s)----將字串反序列化為物件
pickle.dump(obj,file)----將物件序列化為字串並寫入檔案
pickle.load(file)----將檔案內容反序列化為物件
注:pickle模組下的寫入和讀出檔案必須為二進位制,乙個.pkl盡量要儲存相同型別的資料,否則反序列化時會出現問題,實際中這種按物件型別儲存的方式不利於**管理。
4.利用shelve模組,採用鍵值的方式儲存資料,更加靈活和實用:
import shelve
s =scores =[88
,89,90
]db = shelve.
open
('shelve_student'
)db[
's']
= sdb[
'scores'
]= scores
del(db[
's']
)print
(len
(db)
)db.close(
)
注:shelve.open()中不需要指明讀寫模式,採用檔名[『鍵名』]=值的方式儲存物件。 Python數值日期時間筆記
數值 格式化小數字的處理 隨機數 random.choice 序列中隨機選擇乙個值 random.sample 獲取指定數目的序列 random.shuffle 打亂順序 random.randint 生成範圍內的隨機整數 random.random 生成隨機浮點數 random.getrandbi...
python第9天數值日期處理
一 處理異常try x 5 0 print x except zerodivisionerror print 不能除以0 except print 其他錯誤 else print 沒有異常 二 測試 import unittest 匯入python自帶的測試模組,單元測試 from yichang ...
day09 異常 測試 數值 日期
1.錯誤型別 語法錯誤 語義錯誤 除以0 邏輯錯誤 2.異常處理 tryexcept 異常型別 as 例項 finally else raise 手動丟擲異常 3.str.title 將字串首字母轉為大寫 4.測試級別 單元測試 整合測試 系統測試 驗收測試 回歸測試 5.單元測試 對 最基本單元 ...