1. 程式人生 > >Python——關於常見模組(長期更新)

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所指向的檔案或者目錄的最後修改時間