python模塊part1

一.時間模塊html

1.時間表示形式python

在Python中,一般有這三種方式來表示時間:時間戳、元組(struct_time)、格式化的時間字符串:
(1)時間戳(timestamp) :一般來講,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量。咱們運行「type(time.time())」,返回的是float類型。算法

(2)格式化的時間字符串(Format String): ‘1988-03-16’shell

(3)元組(struct_time) :struct_time元組共有9個元素共九個元素:(年,月,日,時,分,秒,一年中第幾周,一年中第幾天等安全

>>> import time
>>> time.time()      #--------------返回當前時間的時間戳

1493136727.099066

# <2> 時間字符串

>>> time.strftime("%Y-%m-%d %X")
'2017-04-26 00:32:18'

# <3> 時間元組

>>> time.localtime()
time.struct_time(tm_year=2017, tm_mon=4, tm_mday=26,
                 tm_hour=0, tm_min=32, tm_sec=42, tm_wday=2,
                 tm_yday=116, tm_isdst=0)
View Code

小結:時間戳是計算機可以識別的時間;時間字符串是人可以看懂的時間;元組則是用來操做時間的bash

1.幾種時間的形式轉換dom

#一 時間戳<---->結構化時間:  localtime/gmtime   mktime

>>> time.localtime(3600*24)
>>> time.gmtime(3600*24)

>>> time.mktime(time.localtime())


#字符串時間<---->結構化時間: strftime/strptime

>>> time.strftime("%Y-%m-%d %X", time.localtime())
>>> time.strptime("2017-03-16","%Y-%m-%d")
View Code

>>> time.asctime(time.localtime(312343423))
'Sun Nov 25 10:03:43 1979'
>>> time.ctime(312343423)
'Sun Nov 25 10:03:43 1979'
View Code

二.random模塊ide

>>> import random
>>> random.random()      # 大於0且小於1之間的小數
0.7664338663654585

>>> random.randint(1,5)  # 大於等於1且小於等於5之間的整數
2

>>> random.randrange(1,3) # 大於等於1且小於3之間的整數
1

>>> random.choice([1,'23',[4,5]])  # #1或者23或者[4,5]
1

>>> random.sample([1,'23',[4,5]],2) # #列表元素任意2個組合
[[4, 5], '23']

>>> random.uniform(1,3) #大於1小於3的小數
1.6270147180533838

>>> item=[1,3,5,7,9]
>>> random.shuffle(item) # 打亂次序
>>> item
[5, 1, 3, 7, 9]
>>> random.shuffle(item)
>>> item
[5, 9, 7, 1, 3]
View Code

三.harhlib模塊函數

Python的hashlib提供了常見的摘要算法,如MD5,SHA1等等。spa

什麼是摘要算法呢?摘要算法又稱哈希算法、散列算法。它經過一個函數,把任意長度的數據轉換爲一個長度固定的數據串(一般用16進制的字符串表示)。

摘要算法就是經過摘要函數f()對任意長度的數據data計算出固定長度的摘要digest,目的是爲了發現原始數據是否被人篡改過。

摘要算法之因此能指出數據是否被篡改過,就是由於摘要函數是一個單向函數,計算f(data)很容易,但經過digest反推data卻很是困難。並且,對原始數據作一個bit的修改,都會致使計算出的摘要徹底不一樣。

咱們以常見的摘要算法MD5爲例,計算出一個字符串的MD5值:

import hashlib
 
md5 = hashlib.md5()
md5.update('how to use md5 in python hashlib?')
print md5.hexdigest()

計算結果以下:
d26a53750bc40b38b65a520292f69306
View Code

若是數據量很大,能夠分塊屢次調用update(),最後計算的結果是同樣的:

md5 = hashlib.md5()
md5.update('how to use md5 in ')
md5.update('python hashlib?')
print md5.hexdigest()
View Code

MD5是最多見的摘要算法,速度很快,生成結果是固定的128 bit字節,一般用一個32位的16進制字符串表示。另外一種常見的摘要算法是SHA1,調用SHA1和調用MD5徹底相似:

import hashlib
 
sha1 = hashlib.sha1()
sha1.update('how to use sha1 in ')
sha1.update('python hashlib?')
print sha1.hexdigest()
View Code

SHA1的結果是160 bit字節,一般用一個40位的16進制字符串表示。比SHA1更安全的算法是SHA256和SHA512,不過越安全的算法越慢,並且摘要長度更長。

具體請看博客:http://www.cnblogs.com/yuanchenqi/articles/6766020.html

四:os模塊(operating system)

os模塊是與操做系統交互的一個接口

 

 1 os.getcwd() 獲取當前工做目錄,即當前python腳本工做的目錄路徑
 2 os.chdir("dirname")  改變當前腳本工做目錄;至關於shell下cd
 3 os.curdir  返回當前目錄: ('.')
 4 os.pardir  獲取當前目錄的父目錄字符串名:('..')
 5 os.makedirs('dirname1/dirname2')    可生成多層遞歸目錄
 6 os.removedirs('dirname1')    若目錄爲空,則刪除,並遞歸到上一級目錄,如若也爲空,則刪除,依此類推
 7 os.mkdir('dirname')    生成單級目錄;至關於shell中mkdir dirname
 8 os.rmdir('dirname')    刪除單級空目錄,若目錄不爲空則沒法刪除,報錯;至關於shell中rmdir dirname
 9 os.listdir('dirname')    列出指定目錄下的全部文件和子目錄,包括隱藏文件,並以列表方式打印
10 os.remove()  刪除一個文件
11 os.rename("oldname","newname")  重命名文件/目錄
12 os.stat('path/filename')  獲取文件/目錄信息
13 os.sep    輸出操做系統特定的路徑分隔符,win下爲"\\",Linux下爲"/"
14 os.linesep    輸出當前平臺使用的行終止符,win下爲"\t\n",Linux下爲"\n"
15 os.pathsep    輸出用於分割文件路徑的字符串 win下爲;,Linux下爲:
16 os.name    輸出字符串指示當前使用平臺。win->'nt'; Linux->'posix'
17 os.system("bash command")  運行shell命令,直接顯示
18 os.environ  獲取系統環境變量
19 os.path.abspath(path)  返回path規範化的絕對路徑
20 os.path.split(path)  將path分割成目錄和文件名二元組返回
21 os.path.dirname(path)  返回path的目錄。其實就是os.path.split(path)的第一個元素
22 os.path.basename(path)  返回path最後的文件名。如何path以/或\結尾,那麼就會返回空值。即os.path.split(path)的第二個元素
23 os.path.exists(path)  若是path存在,返回True;若是path不存在,返回False
24 os.path.isabs(path)  若是path是絕對路徑,返回True
25 os.path.isfile(path)  若是path是一個存在的文件,返回True。不然返回False
26 os.path.isdir(path)  若是path是一個存在的目錄,則返回True。不然返回False
27 os.path.join(path1[, path2[, ...]])  將多個路徑組合後返回,第一個絕對路徑以前的參數將被忽略
28 os.path.getatime(path)  返回path所指向的文件或者目錄的最後存取時間
29 os.path.getmtime(path)  返回path所指向的文件或者目錄的最後修改時間
30 os.path.getsize(path) 返回path的大小
View Code
相關文章
相關標籤/搜索