Python——關於常見模塊(長期更新)

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   #返回操作系統平臺名稱

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章