Python 常用模組shelve shutil

2021-10-08 20:39:45 字數 2576 閱讀 7651

shelve模組比pickle模組簡單,只有乙個open函式,返回類似字典的物件,可讀可寫;key必須為字串,而值可以是python所支援的資料型別

import shelve

f = shelve.

open

(r'sheve.txt')f[

'stu1_info']=

f['stu2_info']=

f['school_info']=

print

(f['stu1_info'][

'hobby'])

f.close(

)

高階的 檔案、資料夾、壓縮包 處理模組

# 1、shutil.copyfileobj(fsrc, fdst[, length])

# 將檔案內容拷貝到另乙個檔案中

import shutil

shutil.copyfileobj(

open

('old.xml'

,'r'),

open

('new.xml'

,'w'))

# 2、shutil.copyfile(src, dst)

# 拷貝檔案

shutil.copyfile(

'f1.log'

,'f2.log'

)#目標檔案無需存在

# 3、shutil.copymode(src, dst)

# 僅拷貝許可權。內容、組、使用者均不變

shutil.copymode(

'f1.log'

,'f2.log'

)#目標檔案必須存在

# 4、shutil.copystat(src, dst)

# 僅拷貝狀態的資訊,包括:mode bits, atime, mtime, flags

shutil.copystat(

'f1.log'

,'f2.log'

)#目標檔案必須存在

# 5、shutil.copy(src, dst)

# 拷貝檔案和許可權

import shutil

shutil.copy(

'f1.log'

,'f2.log'

)# 6、shutil.copy2(src, dst)

# 拷貝檔案和狀態信

import shutil

shutil.copy2(

'f1.log'

,'f2.log'

)# 7、shutil.ignore_patterns(*patterns)

# shutil.copytree(src, dst, symlinks=false, ignore=none)

# 遞迴的去拷貝資料夾

import shutil

shutil.copytree(

'folder1'

,'folder2'

, ignore=shutil.ignore_patterns(

'*.pyc'

,'tmp*'))

#目標目錄不能存在,注意對folder2目錄父級目錄要有可寫許可權,ignore的意思是排除

# 拷貝軟連線

import shutil

shutil.copytree(

'f1'

,'f2'

, symlinks=

true

, ignore=shutil.ignore_patterns(

'*.pyc'

,'tmp*'))

'''通常的拷貝都把軟連線拷貝成硬鏈結,即對待軟連線來說,建立新的檔案

'''# 8、shutil.rmtree(path[, ignore_errors[, onerror]])

# 遞迴的去刪除檔案

import shutil

shutil.rmtree(

'folder1'

)# 9、shutil.move(src, dst)

# 遞迴的去移動檔案,它類似mv命令,其實就是重新命名。

import shutil

shutil.move(

'folder1'

,'folder3'

)# 10、shutil.make_archive(base_name, format,...)

# 建立壓縮包並返回檔案路徑,例如:zip、tar

# 建立壓縮包並返回檔案路徑,例如:zip、tar

base_name: 壓縮包的檔名,也可以是壓縮包的路徑。只是檔名時,則儲存至當前目錄,否則儲存至指定路徑,

如 data_bak =

>儲存至當前路徑

如:/tmp/data_bak =

>儲存至/tmp/

format: 壓縮包種類,「zip」, 「tar」, 「bztar」,「gztar」

root_dir: 要壓縮的資料夾路徑(預設當前目錄)

owner: 使用者,預設當前使用者

group: 組,預設當前組

logger: 用於記錄日誌,通常是logging.logger物件

python 常用模組

1.告訴直譯器 找模組 import sysunix要絕度路徑 只有第一次匯入執行。name main 2.當做包,必須包含乙個命名為 init py的檔案 模組 3.dir看模組裡有什麼 下劃線開始,不是給模組外部用的。過濾 import copy n for n in dir copy if n...

python常用模組

logging 日誌是我們排查問題的關鍵利器,寫好日誌記錄,當我們發生問題時,可以快速定位 範圍進行修改 logging將日誌列印到螢幕,日誌級別大小關係為 critical error warning info debug notset,當然也可以自己定義日誌級別 預設logging預設的日誌級別...

python常用模組

collections提供了幾個便於使用的資料型別。1 namedtuple 這個資料型別生成可以使用呼叫屬性的方法來訪問元素內容的元祖 import collections cc collections.namedtuple sha x y get cc 1,2 print get.x,get.y...