time模塊用來打印時間,而且有暫停程序的功能,須要時間的地方就要調用。json
時間戳表示的是從1970年1月1日0:00:00開始按秒計算的偏移量dom
import time print(time.time()) 1560166598.8710632
格式化時間就是普通字符串格式的時間表示方式,須要本身定義格式。函數
print(time.strftime('%Y-%m-%d')) 2019-06-10
print(time.localtime()) # 北京時間 time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=19, tm_min=42, tm_sec=45, tm_wday=0, tm_yday=161, tm_isdst=0) print(time.gmtime()) # 格林威治時間(時間標準時間) time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=11, tm_min=43, tm_sec=46, tm_wday=0, tm_yday=161, tm_isdst=0)
struct_time = time.localtime() print(time.strftime('%Y-%m-%d',struct_time)) 2019-06-10
print(time.mktime(struct_time)) 1560167473.0
stamp_time = time.time() print(time.localtime(stamp_time)) time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=19, tm_min=55, tm_sec=25, tm_wday=0, tm_yday=161, tm_isdst=0)
print(time.strptime('2019-06-01 12:00:00','%Y-%m-%d %X')) time.struct_time(tm_year=2019, tm_mon=6, tm_mday=1, tm_hour=12, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=152, tm_isdst=-1)
time.sleep(1)
datetime模塊能進行時間的加減學習
import datetime now = datetime.datetime.now() print(now) 2019-06-10 20:05:05.697198
print(now + datetime.timedelta(3)) # 3表明的參數表示天數,且裏面的參數只能是天,不能進行年和月的加減 print(now + datetime.timedelta(-3)) 2019-06-13 20:06:34.748685 2019-06-07 20:09:11.633673
print(now.replace(year=2010,month=6,day=8,hour=19,minute=10,second=11)) 2010-06-08 19:10:11.641058
print(random.random()) 0.9112520136212495
打印[n,m]的整數 # 會去n和m操作系統
print(random.randint(1,5)) 1
打印(n,m)的小數code
print(random.uniform(1,5)) 4.66308974253497
打印[n,m)的整數 取頭不取尾orm
print(random.randrange(1,3)) 1
### 從容器中隨機選擇一個(牢記,常常用) 抽獎程序就是基於這個基礎作出來的遞歸
res = random.choices([1,4,7,9]) print(res) [4]
抽獎實例:ip
count =0 while True: res = random.choices([1000,22,333,44]) count +=500 if count == 3000: print(f'恭喜你得到1000元大獎') else: if res ==1000: print('再來一次!') else: print(f'恭喜你得到{res}')
print(random.sample([1,2,'w','t'],2)) [1, 'w']
lis = [1,2,3,4] random.shuffle(lis) print(lis) [3, 1, 2, 4]
os模塊與操做系統交互,在python中進行文件操做
查看當前文件路徑 sys.argv() ==重點==
print(sys.argv) ['D:/pycharm學習筆記/test1/test-6-10.py']
獲取解釋器版本 sys.hexversion
print(sys.hexversion) 50726128
獲取當前文件導入模塊的路徑 sys.path ==重點==
print(sys.path) ['D:\\pycharm學習筆記\\test1', 'D:\\pycharm學習筆記', 'D:\\python3\\python36.zip', 'D:\\python3\\DLLs', 'D:\\python3\\lib', 'D:\\python3', 'D:\\python3\\lib\\site-packages', 'D:\\pycharm\\PyCharm 2018.1.4\\helpers\\pycharm_matplotlib_backend']
從內存到硬盤這個過程叫作序列化,序列化必須得規定格式
特色:
with open('文件.json','w',encoding='utf8') as fw: json.dump(dict,fw)
with open('文件.json','r',encoding='utf8') as fr: data = json.load(fr)
pickle也是序列化和反序列化,json能夠跨平臺,只支持dict/list/str/int/float/bool/None
pickle支持python中任意數據類型,因此不能跨平臺(不一樣平臺的函數必定是不一樣的),pickle模塊序列化過程是以==二進制==形式轉換
with open('文件.json','wb') as fw: pickle.dump(dict,fw)
with open('文件.json','rb') as fr: data = pickle.load(fr)