1.包與模組的定義與匯入
1.1.什麼是python的包與模組
- 包就是資料夾,包中還可以有包,也就是子資料夾
- 一個個python檔案模組
1.2.包的身份證
__init__.py是每一個python包裡面必須存在的檔案,這個檔案裡面可以沒有任何內容
1.3.如何建立包
- 要有一個主題,明確功能,方便使用
- 層次分明,呼叫清晰
- 檔案裡面要有包的身份認證檔案,即__init__.py檔案,證明該資料夾是一個包
1.4.包的匯入
雖然說圖示animal包裡面還有子包子檔案,但是import animal只能拿到當前包__init__.py裡面的功能;當import具體檔案時,比如import test1.py只能拿當前模組(當前檔案)中的功能,同級animal包中的功能無法訪問使用
1.5.模組的匯入
2.第三方包
- 阿里雲 http://mirrors.aliyun.com/pypi/simple/
- 豆瓣http://pypi.douban.com/simple/
- 清華大學 https://pypi.tuna.tsinghua.edu.cn/simple/
- 中國科學技術大學 http://pypi.mirrors.ustc.edu.cn/simple/
- 華中科技大學http://pypi.hustunique.com/
- 使用格式:如安裝ipython版本為19.0.1的包pip install -i http://mirrors.aliyun.com/pypi/simple/ ipython==19.0.1
3.Python的datetime與time
- datetime和time這兩個包為python中常用的兩個時間包
- datetime常用於對日期的處理
- time常用於對時間、計時等處理
3.1.datetime
- 日期與時間的結合體-date and time
- 獲取當前時間
- 獲取時間間隔
- 將時間物件轉成時間字串
- 將字串轉成時間型別
3.1.1.datetime包的常用功能
獲取當前時間
獲取時間間隔
1 # coding:utf-8 2 3 from datetime import datetime 4 from datetime import timedelta 5 6 now=datetime.now() 7 print(now,type(now)) #2021-12-27 16:19:18.586413 <class 'datetime.datetime'> 8 9 three_days=timedelta(days=3) 10 print(type(three_days)) #<class 'datetime.timedelta'> 11 12 after_three_day=now+three_days 13 print(after_three_day) #2021-12-30 16:19:18.586413時間物件轉字串
1 # coding:utf-8 2 3 from datetime import datetime 4 5 now=datetime.now() 6 now_str=now.strftime('%Y-%m-%d %H:%M:%S') 7 print(now_str,type(now_str)) #2021-12-27 16:28:06 <class 'str'> 日期字串無法實現日期的加減法,必須轉成日期物件型別才能實現日期的加減法時間字串轉時間型別
1 # coding:utf-8 2 3 from datetime import datetime 4 from datetime import timedelta 5 6 now=datetime.now() 7 now_str=now.strftime('%Y-%m-%d %H:%M:%S') 8 print(now_str,type(now_str)) #2021-12-27 16:37:11 <class 'str'> 9 10 now_obj=datetime.strptime(now_str,'%Y-%m-%d %H:%M:%S') 11 print(now_obj,type(now_obj)) #2021-12-27 16:37:11 <class 'datetime.datetime'>,轉成物件的時候,後面的格式必須得跟字串的格式匹配 12 13 three_days=timedelta(days=3) 14 after_three_day=now_obj+three_days 15 print(after_three_day,type(after_three_day)) #2021-12-30 16:37:11 <class 'datetime.datetime'>3.1.2.python的常用時間格式化符號
1 # coding:utf-8 2 3 from datetime import datetime 4 5 now=datetime.now() 6 now_str=now.strftime('%Y-%m-%d %H:%M:%S %p %j %U %A') 7 print(now_str,type(now_str)) #2021-12-27 16:45:31 PM 361 52 Monday <class 'str'>
3.2.time
3.2.1認識時間戳
- 1970年1月1日00時00分00秒至今的總毫秒(秒)數
- 使用timestamp代表時間戳
- 時間戳是float型別的
3.2.2認識python的time模組與常用方法
生成時間戳函式time
1 # coding:utf-8 2 import time 3 4 now=time.time() 5 print(now,type(now)) #1640595949.671707 <class 'float'>獲取本地時間函式localtime
timestamp不傳代表當前時間
1 # coding:utf-8 2 import time 3 4 now=time.time() 5 time_obj=time.localtime(now) 6 print(time_obj,type(time_obj)) #time.struct_time(tm_year=2021, tm_mon=12, tm_mday=27, tm_hour=17, tm_min=6, tm_sec=43, tm_wday=0, tm_yday=361, tm_isdst=0) <class 'time.struct_time'>localtime對應欄位介紹
1 # coding:utf-8 2 import time 3 4 now=time.localtime() 5 print(now) #time.struct_time(tm_year=2021, tm_mon=12, tm_mday=27, tm_hour=17, tm_min=1, tm_sec=12, tm_wday=0, tm_yday=361, tm_isdst=0)暫停函式sleep
1 # coding:utf-8 2 import time 3 4 for i in range(10): 5 print(i) 6 time.sleep(1)time中的strftime與strptime
1 # coding:utf-8 2 import time 3 4 now=time.time() 5 print(now,type(now)) #1640596914.3263566 <class 'float'> 6 7 #now_str=time.strftime('%Y-%m-%d %H:%M:%S',now) #TypeError: Tuple or struct_time argument required 報錯,因為now時間戳是浮點型,不是time.localtime對應的時間型別 8 print(type(time.localtime())) #<class 'time.struct_time'> 9 now_str=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) 10 print(now_str,type(now_str)) #2021-12-27 17:21:54 <class 'str'>1 # coding:utf-8 2 import time 3 4 now=time.time() 5 now_str=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) 6 now_obj=time.strptime(now_str,'%Y-%m-%d %H:%M:%S') 7 print(now_obj,type(now_obj)) #time.struct_time(tm_year=2021, tm_mon=12, tm_mday=27, tm_hour=18, tm_min=5, tm_sec=40, tm_wday=0, tm_yday=361, tm_isdst=-1) <class 'time.struct_time'>3.2.3datetime轉時間戳與datetime時間戳轉時間物件的方法
datetime轉時間戳
1 # coding:utf-8 2 3 from datetime import datetime 4 5 now=datetime.now() 6 now_stamp=datetime.timestamp(now) 7 print(now_stamp,type(now_stamp)) #1640600288.843319 <class 'float'>datetime時間戳以及time時間戳轉時間物件
1 # coding:utf-8 2 3 from datetime import datetime 4 import time 5 6 now=datetime.now() 7 now_stamp=datetime.timestamp(now) 8 now_stamp_obj=datetime.fromtimestamp(now_stamp) 9 print(now_stamp_obj,type(now_stamp_obj)) #2021-12-27 18:56:15.849622 <class 'datetime.datetime'> 10 11 now_time=time.time() 12 now_time_obj=datetime.fromtimestamp(now_time) 13 print(now_time_obj,type(now_time_obj)) #2021-12-27 18:56:15.849623 <class 'datetime.datetime'>
4.Python內建庫os與sys模組
4.1.os模組
4.1.1.os的檔案與目錄函式介紹
1 # coding:utf-8 2 3 import os 4 5 current_path=os.getcwd() 6 print(current_path) 7 8 new_path='%s/test1/test2' % current_path 9 os.makedirs(new_path) 10 11 os.removedirs('test1/test2') 12 os.rename('test1','test') 13 data=os.listdir(current_path) 14 print(data)4.1.2.os.path模組常用函式介紹
4.2.sys模組