1、在Python中,我們最常見的估計就是時間模塊,所以第一個我來說一下時間模塊:
import time
print(time.time()) #時間戳,從1970年8點開始的
print(time.clock()) #計算cpu的執行時間
print(time.gmtime()) #UTC時間
print(time.localtime()) #北京時間
print(time.strftime('%Y-%m-%d %H:%M:%S')) #創建時間格式
a = time.strptime('2018-11-12 21:41:32','%Y-%m-%d %H:%M:%S')
print(a.tm_year) #2018 求上面變量a所給時間的年
print(time.ctime(1)) #如果括號爲空,則顯示當前時間,括號裏面顯示的爲秒數,從1970年8點開始計算
print(time.mktime(time.localtime())) #將時間戳轉化爲秒
關於上面所說的時間模塊,那麼我們有什麼應用呢,在日常書寫中,我們經常要給文件寫時間與日期,這時候就可調用時間模塊
#假設這樣一個場景,如果有人打開祕密文本,則記錄打開的時間,將其保存到文本中,如果打開的是公開文本,則不記錄
import time
def sceret():
print('祕密文本')
def text():
print('公開文本')
def logger_one(f):
def logger_two():
f()
a = open('logger_sceret.txt','r+')
a.read()
a.write('\r\n')
print(a.write(time.strftime('%Y-%m-%d %H:%M:%S')))
a.close()
return logger_two
sceret = logger_one(sceret)
sceret()
2、接下來說以下random(隨機數)模塊:
import random #在Python中,如果我們要定義隨機數模塊
print(random.random()) #這是一個 0-1的隨機數
print(random.randint(1,8)) #隨機出現1——8,包含8
print(random.choice(['123',4,[1,2]])) #隨機出現列表裏的一個
print(random.sample(['123',4,[1,2]],2)) #隨機出現列表裏的兩個
print(random.randrange(1,3)) #,隨機出現1——3,不包含3
上面我們說了一下隨機數模塊,那麼隨機數模塊在哪裏應用呢,在日常生活中,我們常接受到的短信驗證碼就可以用隨機數來做
import random
def v_code(): #定義這個隨機數函數
code = '' #首先定義將要給出的驗證碼爲空
for i in range(5):
add=random.choice([random.randrange(10),chr(random.randrange(97,123))]) #驗證碼爲五位的小寫字母和數字任意組合
code+=str(add) #每次出現的數字或字母拼接在一起
print(code)
v_code() #調用,便可出現這個隨機驗證碼
3、接下來我們來說一下關於os模塊
import os
os.getcwd()) #獲取當前工作目錄
os.chdir('dirname')) #改變當前腳本工作目錄
os.curdir #返回當前目錄
os.pardir #返回當前目錄的父目字符串名錄
os.makedirs('dirname1/dirname2') #生成多遞歸目錄
os.removedirs('dirname1') #若目錄爲空,則刪除,並遞歸到上一層目錄,如也爲空,則刪除
os.mkdir('dirname') #生成單級目錄
os.rmdir('dirname') #刪除單級目錄
os.listdir('dirname') #列出當前目錄下的所有文件和子目錄
os.remove() #刪除一個文件
os.rename('oldname','newname') #給文件重命名
os.stat('path/filename') #獲取目錄/文件信息
#上面這個說一下,如果我們獲取了文件信息,那麼我們就要從信息中得到我們想要的
os.stat_result(st_mode=33206, st_ino=1688849860273573, st_dev=205036670, st_nlink=1, st_uid=0, st_gid=0, st_size=307, st_atime=1541679532, st_mtime=1541938638, st_ctime=1541679532)
#上面這些是我獲取我自己的文件得到的信息,st_size表示文件爲多少字節,st_atime表示文件最後存取時間,st_mtime表示最後修改時間
os.sep #輸出操作系統特定的路徑分隔符
os.linesep #輸出當前平臺使用的行終止符
os.pathsep #輸出用於分割文件路徑的字符串
os.name #輸出字符串指示當前使用平臺
os.system('bash command') #運行shell命令
os.environ #獲取系統環境變量
os.path.abspath(path) #返回path規範化的絕對路徑
os.path.split(path) #將path分割成目錄和文件名二元組返回
os.path.dirname(path) #返回path的目錄
os.path.basename(path) #返回path最後的文件名
os.path.exists(path) #如果path存在,返回Ture,反之,返回False
os.path.isabs(path) #判斷path是否爲絕對路徑
os.path.isfile(path) #判斷path是否是一個存在的文件
os.path.isdir(path) #判斷path是否是一個存在的目錄
os.path.join(path[,path2[,...]]) #
os.path.getatime(path) #返回path所指向的文件或目錄的最後存取時間
os.path.getmtime(path) #返回path所指向的文件或者目錄的最後修改時間
4、接下來說一說hashlib模塊
#各種加密方式的調用方法
import hashlib
hashlib.blake2b
hashlib.blake2s
hashlib.md5
hashlib.new
hashlib.pbkdf2_hmac
hashlib.sha1 #還有如同sha256等等方法
將具體的某些東西進行加密
import hashlib #所謂的加密模塊
m = hashlib.md5() #可以將後面的MD5改爲blake2b,sha256等等的加密算法
print(m)
m.update('hello world'.encode('utf8'))
print(m.hexdigest())
m.update('Any'.encode('utf8'))
print(m.hexdigest())
m2 = hashlib.md5()
m2.update('hello worldAny'.encode('utf8')) #因爲在Python3中使用萬國碼進行轉化,所以要轉成utf8
print(m2.hexdigest())
b = hashlib.md5()
b.update('hello world Any'.encode('utf8'))
print(b.hexdigest())
5.關於sys模塊
import sys #與python解釋器進行交互
print(sys.argv) #命令行參數list,第一個元素是程序本身路徑
print(sys.exit()) #退出程序,正常退出時exit(0)
sys.version #獲取python解釋程序的版本信息
sys.maxint #最大的int值
sys.path #返回模塊的搜索路徑,初始化時使用pythonpath環境
sys.platform #返回操作系統平臺名稱