Python 模塊學習(一)

1、時間模塊

import time          # 模塊調用語句   注意:模塊級導入通常放在文件頂部
import datetime

print(time.time())    # 1550411181.441547: 時間戳
time.sleep(3)         # CPU不工做,中止3秒
print(time.clock())   # 7.331190182070108e-07   計算CPU工做的時間

print(time.gmtime())    # UTC世界標準時間(英國):time.struct_time(tm_year=2019, tm_mon=2,
# tm_mday=17, tm_hour=13, tm_min=54, tm_sec=45, tm_wday=6, tm_yday=48, tm_isdst=0)

print(time.localtime())   # 本地時間:time.struct_time(tm_year=2019, tm_mon=2, tm_mday=17,
# tm_hour=21, tm_min=59, tm_sec=18, tm_wday=6, tm_yday=48, tm_isdst=0)

print(time.strftime('%Y-%m-%d  %H:%M:%S'))   # (重要)字符串(格式化)時間:2019-02-17  22:03:39

print(time.strptime('2019-02-17  22:03:39', '%Y-%m-%d  %H:%M:%S'))   # 時間結構的轉換,輸出見下行:
# time.struct_time(tm_year=2019,tm_mon=2,tm_mday=17,tm_hour=22,tm_min=3,tm_sec=39,tm_wday=6,tm_yday=48,tm_isdst=-1
)

# 單獨提取某個時間類型
a = time.strptime('2019-02-17  22:03:39', '%Y-%m-%d  %H:%M:%S')
print(a.tm_year)    # 年 2019
print(a.tm_mon)     # 月 2
print(a.tm_mday)    # 日 17
print(a.tm_hour)    # 時 22
print(a.tm_min)     # 分 3
print(a.tm_sec)     # 秒 39
print(a.tm_yday)    # 一年的第多少天 48
print(a.tm_wday)    # 一週的第多少天 6

print(time.ctime())   # 默認爲空  打印當前時間:Sun Feb 17 22:18:13 2019
print(time.ctime(3600))  # 把一個數轉換爲時間  從1970年開始計算
print(time.mktime(time.localtime()))   # 把當前時間轉換爲時間戳:1550413367.0

print(datetime.datetime.now())   # 打印當前時間,友好表達方式:2019-02-28 14:33:37.570078

2、隨機數模塊

import random

print(random.random())          # 生成一個0-1的隨機數
print(random.randint(1, 8))       # 隨機生成一個1-8之間的隨機整數(包括8)
print(random.choice('sadasfga'))      # 隨機取出字符串中的一個字母
print(random.sample('asfafaffgh', 2))      # 從一個序列裏面隨機取出兩個
print(random.randrange(1, 3))        # 1-3隨機取出一個,不包括3

例:隨機生成一個5位數的驗證碼,包含數字和字母python

def v_code():
    code = ''
    for i in range(5):
        if i == random.randint(0, 3):
            add = random.randrange(10)   # 0-9隨機取出一個數
        else:
            add = random.randrange(65, 90)   # 26個字母的ASCII值是65-90
            add = chr(add)  # 把ASCII轉換爲字母

        code += str(add)  # 字符串拼接

    print(code)

法二:比上述方法更加簡單算法

def v_code():
    code = ''
    for i in range(5):
        add = random.choice([random.randrange(10), chr(random.randrange(65, 90))])
        code += str(add)   # 字符串拼接

    print(code)

v_code()

3、hashlib 加密模塊

import hashlib   # 兩種方法:MD5和SHA兩種加密方法 不可逆結果

# MD5 算法
m = hashlib.md5()

m.update('hello world'.encode('utf8'))   # python3 默認utf8編碼
print(m.hexdigest())   # 獲取加密結果(16進制):5eb63bbbe01eeed093cb22bb8f5acdc3

m.update('long'.encode('utf8'))
print(m.hexdigest())   # 7e5181dfabb9edf08a7075a8c18b0343  在前一次轉換的基礎上進行轉換,至關於對'hello worldlong'進行轉換

m2 = hashlib.md5()
m2.update('hello worldlong'.encode('utf8'))
print(m2.hexdigest())   # 7e5181dfabb9edf08a7075a8c18b0343


# SHA 算法
m = hashlib.sha256()
m.update('hello world'.encode('utf8'))
print(m.hexdigest())   # 算法更復雜:b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

4、sys模塊

1.解釋器進行交互:經過傳入的參數決定程序執行那段代碼windows

import sys      # 解釋器進行交互

print(sys.argv)    # 輸出的當前路徑

def post():
    print('ok')

def download():
    pass

if sys.argv[1] == 'post':
    post()
elif sys.argv[1] == 'downlod':
    download()

打開電腦cmd,在文件路徑下用python執行該程序app

image

輸出列表,列表的第一個元素存的是文件名,能夠在「python sys模塊.py」 後面加參數控制程序的執行:dom

image

注意:通常狀況參數越多程序越靈活post

2.常見使用:編碼

import sys

sys.exit(0)  # 退出程序,能夠加參數,正常退出是exit(0)

print(sys.platform)   # win32  返回windows的平臺,能夠作跨平臺的判斷
print(sys.version)   # 獲取python解釋器的當前版本信息
print(sys.path)    # 返回模塊的搜索路徑,初始化時使用pythonpath環境變量的值
print(sys.platform)     # 返回操做平臺名稱:win32
print(sys.path.append()) # 路徑添加,若是要使用的模塊不在python裏,在另外的文件下,就須要添加絕對路徑
相關文章
相關標籤/搜索