自學Python6.3-內置模塊(os、sys、hashlib、random、json&pickle&shelve)

自學Python之路-Python基礎+模塊+面向對象
自學Python之路-Python網絡編程
自學Python之路-Python併發編程+數據庫+前端
自學Python之路-djangohtml

自學Python6.3-內置模塊(os、sys、hashlib、random、json & pickle &shelve)

內置模塊是Python自帶的功能,在使用內置模塊相應的功能時,須要  先導入 再 使用。

  • python中導入模塊使用關鍵字 import若是是本地導入文件,直接使用:import filename
  • 若是導入的是一個包,該包下面必須是有__init__.py 文件才能夠導入,不然報錯,只有有了__init__.py 文件,python 解析器纔會把這個目錄當成是的包。

 1.OS模塊      

 用於提供系統級別的操做: 

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

2.sys模塊

用於提供對Python解釋器相關的操做: 
前端

sys.argv           命令行參數List,第一個元素是程序自己路徑
sys.exit(n)        退出程序,正常退出時exit(0)
sys.version        獲取Python解釋程序的版本信息
sys.maxint         最大的Int值
sys.path           返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值
sys.platform       返回操做系統平臺名稱
sys.stdin          輸入相關
sys.stdout         輸出相關
sys.stderror       錯誤相關

3.hashlib模塊

 hashlib主要提供字符加密功能,將md5和sha模塊整合到了一塊兒,支持md5,sha1, sha224, sha256, sha384, sha512等算法python

 

 

 

 

 

4.random模塊

# 隨機小數
random.random()        #用於生成一個0到1的隨機浮點數:0<= n < 1.0
random.uniform(a,b)    #用於生成一個指定範圍內的隨機符點數,兩個參數其中一個是上限,一個是下限。若是a > b,則生成的隨機數n: a <= n <= b。若是 a <b, 則 b <= n <= a。
# 隨機整數
random.randint(a, b)   #用於生成一個指定範圍內的整數。其中參數a是下限,參數b是上限,生成的隨機數n: a <= n <= b
random.randrange([start], stop[, step])   #從指定範圍內,按指定基數遞增的集合中 獲取一個隨機數。
# 隨機選擇一個返回
random.choice(sequence)  # 從序列中獲取一個隨機元素
# 打亂列表順序
random.shuffle(x[, random])  # 用於將一個列表中的元素打亂,即將列表內的元素隨機排列。
# 隨機選擇多個返回,返回的個數爲函數第二個參數
random.sample(sequence, k)   # 從指定序列中隨機獲取指定長度的片段並隨機排列。注意:sample函數不會修改原有序列。

5.json & pickle &shelve序列化模塊

數據類型轉化成字符串的過程就是序列化,主要是爲了方便存儲和網絡傳輸。算法

  • json,用於字符串 和 python數據類型間進行轉換 (兩端能夠是不一樣語言) 。json模塊提供了四個功能:dumps、dump(和文件有關)、loads、load(load不能load屢次)。
  • pickle,用於python特有的類型 和 python的數據類型間進行轉換(兩端必須使用python語言)。 pickle模塊提供了四個功能:dumps、dump、loads、load(方法和json同樣)。
  • shelve,open方法,open方法獲取了一個文件句柄。
import pickle
f = open('user_acc.txt','wb')
data = {
    'k1':123 ,
    'k2':'hello'
}
f.write(pickle.dumps(data))
f.close()

import pickle
f = open('user_acc.txt','rb')
data_from=pickle.loads(f.read())  # data_from=pickle.load(f))
for i in data_from:
    print(data_from)

輸出結果:  {'k1': 123, 'k2': 'hello'} shell

 6. 

相關文章
相關標籤/搜索