1、什麼是模塊?
模塊(module),它特指就是xxx.py文件
2、如何導入模塊
如果默認沒有在包中
import xxxx import random
import uuid, sys
import os.path as 別名
from 包路徑 import 模塊名稱
from 包路徑.模塊名稱 import 方法、類、變量
from functools import partial
3、常見模塊功能
random:
目前所有的計算機API實現的隨機都是僞隨機數
|-- random.random() # 返回一個[0, 1)的隨機數
|-- random.randint(n, m) # 返回[n, m]範圍內的隨機整數
|-- random.randrange(n, m) # 返回[n, m)範圍內的隨機整數
|-- random.choice(sequence) # 從一個序列中隨機返回一個元素
|-- random.uniform(n, m) # 返回[n, m]範圍內的隨機數
|-- random.shuffle(列表) # 隨機洗牌列表中的元素順序
math:
進行數學計算
|-- math.ceil(num) # 向上取整
|-- math.floor(num) # 向下取整
|-- math.abfs(num) # 求絕對值
|-- math.modf(num) # 以元組的形式返回整數和小數部分
|-- math.pi # 圓周率
|-- math.pow(num, num2) # 冪次方 num**num2
|-- math.sqrt(num) # 開平方根
os:
主要管理操作系統文件管理系統
|-- chdir(path) # 修改當前工作空間路徑的
|-- curdir # 當前工作空間的路徑
|-- os.getcwd() # 獲取路徑的絕對路徑
|-- os.path.abspath(path) # 獲取路徑的絕對路徑
|-- os.cpu_count() # 獲取當前電腦的CPU架構
|-- os.device_encoding(fd) # 獲取設備的編碼
|-- os.getpid() # 獲取進程編號
|-- os.getppid() # 獲取當前進程的父進程編號
|-- os.kill() # 通過編號殺死進程
|-- os.listdir(path) # 遍歷path路徑下的所有文件和文件夾,以列表形式返回名稱
|-- os.mkdir() # 創建一個單層文件夾(目錄)
|-- os.makedirs() # 創建多層目錄
|-- os.name # 獲取操作系統名稱
|-- os.rename() # 重命名
|-- os.remove() # 移除文件
|-- os.removes() # 移除多層目錄
|-- os.rmdir() # 刪除目錄
|-- os.sep # 當前系統對應的文件分隔符
os.path
推薦使用 from os import path 導入方式
|-- os.path.abspath(path) # 獲取path的絕對路徑
|-- os.path.altsep # 路徑的分割符
|-- os.path.basename(path) # 獲取路徑對應的文件名稱
|-- os.path.dirname(path) # 獲取文件所在目錄
|-- os.path.exists(path) # 判斷文件是否存在
|-- os.path.getatime(path) # 獲取文件最後的訪問時間
|-- os.path.getctime(path) # 獲取文件的創建時間
|-- os.path.getmtime(path) # 獲取文件的修改時間
|-- os.path.getsize(path) # 獲取文件大小,單位是B(字節)
|-- os.path.isdir(path) # 判斷path是不是目錄
|-- os.path.isfile(path) # 判斷路徑是不是一個文件
|-- os.path.isabs(path) # 判斷路徑是不是一個絕對路徑
|-- os.path.islink(path) # 判斷路徑是不是一個鏈接(軟連接、硬鏈接)
|-- os.path.ismount(path) # 判斷路徑是不是一個掛載文件(U盤、光驅等)
|-- os.path.join(path1, path2) # 完成路徑的拼接,會自動根據系統生成分隔符
|-- os.path.split(path) # 分隔文件路徑
time:
|-- time.asctime() # 返回當前時間,格式是西歐格式
|-- time.ctime() # 返回當前時間,格式是西歐格式
|-- time.gmtime() # 返回當前時間,時間對象,注意:時區是倫敦時區
|-- time.localtime() # 返回當前時間,時間對象,注意:時區是當前時區
|-- time.sleep(seconds) # 讓當前線程停止運行
|-- time.time() # 獲取當前時間戳
|-- time.struct_time(元組) # 構造一個對應的時間對象
|-- time.strftime() # 將一個時間對象格式化爲特定的字符串輸出
|-- time.strptime() # 將特定的字符串時間轉換爲時間對象
datetime模塊
import datetime
|-- datetime.datetime.now() # 獲取當前時間對象
|-- datetime.date(year, month, day) # 構造一個日期對象
|-- datetie.time(hour, min, seconds) # 獲取時間對象
|-- str(datetime對象) # 格式化datetime對象爲字符串
calendar模塊
日曆模塊
hashlib模塊
加密算法相關的模塊
加密算法:
|-- 通過是否可逆
|-- 可逆加密
|-- 加密和解密是否使用同一個祕鑰
|-- 對稱加密 DES
使用同一祕鑰加密和解密
|-- 非對稱加密 RSA
使用一對公私鑰對
|-- 不可逆加密(散列加密、hash加密、哈希加密)
md3、md4、md5
>>> md5 = hashlib.md5("123".encode("utf-8"))
>>> md5.hexdigest()
'202cb962ac59075b964b07152d234b70'
sha1、sha256、sha384 ...
二進制的128位數組 ==> 32位字符串
使用場景:密碼加密、文件校驗
hash,引入密值 salt
uuid:具有唯一性
import uuid
s = uuid.uuid4()
s.hex
今天分享內容就到這裏,給大家分享幾個練習題。
1、遍歷磁盤
輸入一個路徑,打印當前路徑及子路徑中的所有文件的絕對路徑
2、使用作業1的代碼完成磁盤視頻的篩選
3、完成一個登陸註冊案例(密碼加密)