總結(jié)常用模塊中的方法
1.math模塊
dir(math) - 查看math模塊中的內(nèi)容
import math
num = 0
for method in dir(math):
num += 1
print(method, end=' ')
if num % 5 == 0:
print()
"""
__doc__ __loader__ __name__ __package__ __spec__
acos acosh asin asinh atan
atan2 atanh ceil copysign cos
cosh degrees e erf erfc
exp expm1 fabs factorial floor
fmod frexp fsum gamma gcd
hypot inf isclose isfinite isinf
isnan ldexp lgamma log log10
log1p log2 modf nan pi
pow radians remainder sin sinh
sqrt tan tanh tau trunc
"""
對(duì)應(yīng)的函數(shù)用法如下:
math模塊中各個(gè)函數(shù)功能.jpg
2.time模塊
time 提供的功能更加接近于操作系統(tǒng)層面虏辫,其所能表述的日期范圍被限定在 1970 - 2038 之間
常用方法如下:
# time.time() 返回當(dāng)前時(shí)間的時(shí)間戳 secs
# time.localtime([secs]) 接收時(shí)間戳,返回指定時(shí)間戳的當(dāng)?shù)貢r(shí)間的時(shí)間元組锈拨,參數(shù)留空砌庄,返回當(dāng)?shù)貢r(shí)間的當(dāng)前時(shí)間元組
# time.gmtime() 接收時(shí)間戳,返回格林威治天文時(shí)間下的時(shí)間元組奕枢。
# time.asctime([tupletime]) 接受時(shí)間元組并返回一個(gè)可讀的形式為”Tue Dec 11 18:07:14 2008”(2008年12月11日 周二18時(shí)07分14秒)的24個(gè)字符的字符串娄昆。
# time.strftime(srt_format[,tupletime]) 接收時(shí)間元組,返回當(dāng)?shù)貢r(shí)間缝彬,第一個(gè)參數(shù)是一個(gè)字符串形式的格式化字符
# time.sleep(secs) 休眠萌焰,時(shí)間暫停指定的秒數(shù)
3. os.path模塊
主要用于獲取文件的屬性
# os.path.abspath(path) 返回絕對(duì)路徑
# os.path.basename(path) 返回文件名
# os.path.commonprefix(list) 返回list(多個(gè)路徑)中,所有path共有的最長(zhǎng)的路徑
# os.path.dirname(path) 返回文件路徑
# os.path.exists(path) 如果路徑 path 存在谷浅,返回 True扒俯;如果路徑 path 不存在奶卓,返回 False。
# os.path.lexists 路徑存在則返回True,路徑損壞也返回True
# os.path.expanduser(path) 把path中包含的"~"和"~user"轉(zhuǎn)換成用戶目錄
# os.path.expandvars(path) 根據(jù)環(huán)境變量的值替換path中包含的"$name"和"${name}"
# os.path.getatime(path) 返回最近訪問(wèn)時(shí)間(浮點(diǎn)型秒數(shù))
# os.path.getmtime(path) 返回最近文件修改時(shí)間
# os.path.getctime(path) 返回文件 path 創(chuàng)建時(shí)間
# os.path.getsize(path) 返回文件大小陵珍,如果文件不存在就返回錯(cuò)誤
# os.path.isabs(path) 判斷是否為絕對(duì)路徑
# os.path.isfile(path) 判斷路徑是否為文件
# os.path.isdir(path) 判斷路徑是否為目錄
# os.path.islink(path) 判斷路徑是否為鏈接
# os.path.ismount(path) 判斷路徑是否為掛載點(diǎn)
# os.path.join(path1[, path2[, ...]]) 把目錄和文件名合成一個(gè)路徑
# os.path.normcase(path) 轉(zhuǎn)換path的大小寫和斜杠
# os.path.normpath(path) 規(guī)范path字符串形式
# os.path.realpath(path) 返回path的真實(shí)路徑
# os.path.relpath(path[, start]) 從start開始計(jì)算相對(duì)路徑
# os.path.samefile(path1, path2) 判斷目錄或文件是否相同
# os.path.sameopenfile(fp1, fp2) 判斷fp1和fp2是否指向同一文件
# os.path.samestat(stat1, stat2) 判斷stat tuple stat1和stat2是否指向同一個(gè)文件
# os.path.split(path) 把路徑分割成 dirname 和 basename寝杖,返回一個(gè)元組
# os.path.splitdrive(path) 一般用在 windows 下,返回驅(qū)動(dòng)器名和路徑組成的元組
# os.path.splitext(path) 分割路徑互纯,返回路徑名和文件擴(kuò)展名的元組
# os.path.splitunc(path) 把路徑分割為加載點(diǎn)與文件
"""
os.path.walk(path, visit, arg)
遍歷path瑟幕,進(jìn)入每個(gè)目錄都調(diào)用visit函數(shù),visit函數(shù)必須有3個(gè)參數(shù)(arg, dirname, names)留潦,
dirname表示當(dāng)前目錄的目錄名君账,names代表當(dāng)前目錄下的所有文件名,args則為walk的第三個(gè)參數(shù)
"""
# os.path.supports_unicode_filenames 設(shè)置是否支持unicode路徑名
4.sys模塊
sys模塊負(fù)責(zé)程序與python解釋器的交互权埠,提供了一系列的函數(shù)和變量谆吴,用于操控python運(yùn)行時(shí)的環(huán)境
# sys.argv 接收命令行參數(shù),生成一個(gè)List坊萝,第一個(gè)元素是程序本身路徑
# sys.modules.keys() 返回所有已經(jīng)導(dǎo)入的模塊列表
# sys.exc_info() 獲取當(dāng)前正在處理的異常類,exc_type孵稽、exc_value、exc_traceback當(dāng)前處理的異常詳細(xì)信息
# sys.exit(n) 退出程序十偶,正常退出時(shí)exit(0)
# sys.hexversion 獲取Python解釋程序的版本值菩鲜,16進(jìn)制格式如:0x020403F0
# sys.version 獲取Python解釋程序的版本信息
# sys.maxint 最大的Int值
# sys.maxunicode 最大的Unicode值
# sys.modules 返回系統(tǒng)導(dǎo)入的模塊字段,key是模塊名惦积,value是模塊
# sys.path 返回模塊的搜索路徑接校,初始化時(shí)使用PYTHONPATH環(huán)境變量的值
# sys.platform 返回操作系統(tǒng)平臺(tái)名稱
# sys.stdout 標(biāo)準(zhǔn)輸出
# sys.stdin 標(biāo)準(zhǔn)輸入
# sys.stderr 錯(cuò)誤輸出
# sys.exc_clear() 用來(lái)清除當(dāng)前線程所出現(xiàn)的當(dāng)前的或最近的錯(cuò)誤信息
# sys.exec_prefix 返回平臺(tái)獨(dú)立的python文件安裝的位置
# sys.byteorder 本地字節(jié)規(guī)則的指示器,big-endian平臺(tái)的值是'big',little-endian平臺(tái)的值是'little'
# sys.copyright 記錄python版權(quán)相關(guān)的東西
# sys.api_version 解釋器的C的API版本
5.hashlib模塊
hashlib模塊代替了Python2中的md5和sham模塊,使用這個(gè)模塊一般分為3步
1.創(chuàng)建一個(gè)哈希對(duì)象,使用哈希算法命名的構(gòu)造函數(shù)或通用構(gòu)造函數(shù)hashlib.new(name[, data])
2.使用哈希對(duì)象調(diào)用update()方法填充這個(gè)對(duì)象
3.調(diào)用digest() 或 hexdigest()方法來(lái)獲取摘要(加密結(jié)果)
注:
1.update()方法需要接收的參數(shù)是一個(gè)字節(jié)對(duì)象(字節(jié)字符串,如:b"Hello,World!")
2.常用的一些算法主要有: SHA1, SHA224, SHA256, SHA384, SHA512, MD5等算法
3.SHA1算法比較早,是不能抵抗暴力破解的
# h.update(arg) 將字節(jié)對(duì)象arg填充到哈希對(duì)象中,arg通常為要加密的字符串
# h.digest() 返回加密結(jié)果,它是一個(gè)字節(jié)對(duì)象,長(zhǎng)度為 h.digest_size,包含的字節(jié)范圍 0 ~ 255
# h.hexdigest() 返回加密結(jié)果,它是一個(gè)字符串對(duì)象,長(zhǎng)度為 h.digest_size * 2,只包含16進(jìn)制數(shù)字
6.calender模塊
calendar模塊與日歷相關(guān)
常用方法如下:
# calendar.calendar(year, w=2, l=1, c=6) 打印某年某月狮崩,w=2, l=1, c=6: 都是字符或行間隔設(shè)置蛛勉。
# calendar.calendar: 返回某年的日歷表.
# calendar.firstweekday(): 返回當(dāng)前每周起始日期的設(shè)置. 默認(rèn)情況下, 返回0即周一.
# calendar.isleap: 判斷某年是否為閏年, 返回bool.
# calendar.leapdays: 返回指定年份范圍內(nèi)閏年的總數(shù), 左閉右開性質(zhì).
# calendar.month(year, month, w=2, l=1): 返回指定月份的日歷表, w,l 表示間隔.
# calendar.monthcalendar: 指定月份, 返回該月每周的日期號(hào), 以嵌套的列表形式顯示.
# calendar.monthrange: 指定月份, 返回tuple的兩個(gè)數(shù), 第一個(gè)表示該月第一天是周幾, 第二個(gè)表示該月有多少天.
# calendar.setfirstweekday: 將每周的起始序號(hào)改為指定數(shù)值. 原為0開始.
# calendar.weekday: 返回指定年月日的星期碼即周幾.