1. 程式人生 > >04: python常用模塊

04: python常用模塊

python randint del art http size 指定 08-18 而不是

1.1 時間模塊time() 與 datetime()

  1、 time()模塊中的重要函數

函數

描述

asctime([tuple])

將時間元組轉換為字符串

localtime([secs])

將秒數轉換為日期元組(轉換成本國時區而不是utc時區)

mktime(tuple)

將時間元組轉換為本地時間

sleep(secs)

休眠(不做任何事情)secs

strptime(string[, format])

將字符串解析為時間元組

time()

獲取當前時間戳

time.gmtime()

將時間轉換成

utc格式的元組格式

  2、time()模塊時間格式轉換

技術分享圖片

  3、time()模塊時間轉換

    1. 時間戳 1970年1月1日之後的秒, 即:time.time()

    2. 格式化的字符串 2014-11-11 11:11, 即:time.strftime(‘%Y-%m-%d‘)

    3. 結構化時間 元組包含了:年、日、星期等... time.struct_time 即:time.localtime()

技術分享圖片
import time
print(time.time())                              #
時間戳:1511166937.2178104 print(time.strftime(%Y-%m-%d)) # 格式化的字符串: 2017-11-20 print(time.localtime()) # 結構化時間(元組): (tm_year=2017, tm_mon=11...) print(time.gmtime()) # 將時間轉換成utc格式的元組格式: (tm_year=2017, tm_mon=11...) #1. 將結構化時間轉換成時間戳: 1511167004.0
print(time.mktime(time.localtime())) #2. 將格字符串時間轉換成結構化時間 元組: (tm_year=2017, tm_mon=11...) print(time.strptime(2014-11-11, %Y-%m-%d)) #3. 結構化時間(元組) 轉換成 字符串時間 :2017-11-20 print(time.strftime(%Y-%m-%d, time.localtime())) # 默認當前時間 #4. 將結構化時間(元組) 轉換成英文字符串時間 : Mon Nov 20 16:51:28 2017 print(time.asctime(time.localtime())) #5. 將時間戳轉成 英文字符串時間 : Mon Nov 20 16:51:28 2017 print(time.ctime(time.time()))
time()模塊時間轉換

  4、ctime和asctime區別

   1)ctime傳入的是以秒計時的時間戳轉換成格式化時間

  2)asctime傳入的是時間元組轉換成格式化時間

技術分享圖片
import time
t1 = time.time()
print(t1)               #1483495728.4734166
print(time.ctime(t1))   #Wed Jan  4 10:08:48 2017
t2 = time.localtime()
print(t2)               #time.struct_time(tm_year=2017, tm_mon=1, tm_mday=4, tm_hour=10, print(time.asctime(t2)) #Wed Jan  4 10:08:48 2017
ctime和asctime區別

  5、datetime

技術分享圖片
import datetime
#1、datetime.datetime獲取當前時間
print(datetime.datetime.now())
#2、獲取三天後的時間
print(datetime.datetime.now()+datetime.timedelta(+3))
#3、獲取三天前的時間
print(datetime.datetime.now()+datetime.timedelta(-3))
#4、獲取三個小時後的時間
print(datetime.datetime.now()+datetime.timedelta(hours=3))
#5、獲取三分鐘以前的時間
print(datetime.datetime.now()+datetime.timedelta(minutes = -3))

import datetime
print(datetime.datetime.now())                                   #2017-08-18 11:25:52.618873
print(datetime.datetime.now().date())                            #2017-08-18
print(datetime.datetime.now().strftime("%Y-%m-%d %H-%M-%S"))    #2017-08-18 11-25-52
datetime使用

1.2 random()模塊

  1、random()模塊常用函數

random模塊中一些重要函數

函數

描述

random()

返回0<n<=1

getrandbits(n)

以長整形形式返回n個隨機位

uniform(a, b)

返回隨機實數n,其中a<=n<=b

randrange([start], stop, [step])

返回range(start,stop,step)中的隨機數

choice(seq)

從序列seq中返回隨意元素

shuffle(seq[, random])

原地指定序列seq(將有序列表變成無序的:洗牌)

sample(sea, n)

從序列seq中選擇n個隨機且獨立的元素

技術分享圖片
import random
#⒈ 隨機整數:
print(random.randint(0,99))             # 隨機選取0-99之間的整數
print(random.randrange(0, 101, 2))      # 隨機選取0-101之間的偶數

#⒉ 隨機浮點數:
print(random.random())                   # 0.972654134347
print(random.uniform(1, 10))             # 4.14709813772

#⒊ 隨機字符:
print(random.choice(abcdefg))         # c
print(random.sample(abcdefghij,3))    # [‘j‘, ‘f‘, ‘c‘]
random()函數使用舉例

  2、使用random實現四位驗證碼

技術分享圖片
import random
checkcode = ‘‘
for i in range(4):
    current = random.randrange(0,4)
    if current == i:
        tmp = chr(random.randint(65,90))    #65,90表示所有大寫字母
    else:
        tmp = random.randint(0,9)
    checkcode += str(tmp)
print(checkcode)                            #運行結果: 851K
使用for循環實現 技術分享圖片
import random
import string
str_source = string.ascii_letters + string.digits
str_list = random.sample(str_source,7)

#[‘i‘, ‘Q‘, ‘U‘, ‘u‘, ‘A‘, ‘0‘, ‘9‘]
print(str_list)
str_final = ‘‘.join(str_list)

#iQUuA09
print(str_final)            # 運行結果: jkFU2Ed
使用random.sample實現
>>> string.digits
0123456789
>>> string.ascii_lowercase
abcdefghijklmnopqrstuvwxyz

1.3 os模塊

04: python常用模塊