python之高階的檔案操作shutil模組

2021-10-01 22:28:51 字數 1464 閱讀 2566

shutil

-

-high-level file operations 高階的檔案操作模組

os模組提供了對目錄或者檔案的新建/刪除/檢視檔案屬性,還提供了對檔案以及目錄的路徑操作。比如說:絕對路徑,父目錄…… 但是,os檔案的操作還應該包含移動 複製 打包 壓縮 解壓等操作,這些os模組都沒有提供。

而本章所講的shutil則就是對os中檔案操作的補充。–移動 複製 打包 壓縮 解壓

shutil 功能:

1 shutil.copyfileobj(fsrc,fds+[,length=16*1024]) #copy檔案內容到另乙個檔案,可以copy指定大小的內容

'''

'''import shutil

f1=open

('1.txt'

,'r'

)f2=

open

('1_copy.txt'

,'w+'

)shutil.copyfileobj(f1,f2,length=16*

1024

)

2 shutil.copyfile(src,dst) #copy檔案內容,是不是感覺上面的檔案複製很麻煩?還需要自己手動用open函式開啟檔案,在這裡就不需要了,事實上,copyfile呼叫了copyfileobj

import shutil

shutil.copyfile(

'1.txt'

,'1_copy_file.txt'

)

3 shutil.copymode(src,dst) #僅copy許可權,不更改檔案內容,組和使用者。

準備2個檔案

-rwxr-xr-x 1 python python 66 4月  24 11:50 1.txt     #許可權是755

-rwx-w--w- 1 python python 0 4月 24 11:50 2.txt #許可權是722

import shutil

shutil.copymode(

'1.txt'

,'2.txt'

)

執行結果後:

-rwxr-xr-x 1 python python 66 4月  24 11:50 1.txt     #許可權是755

-rwxr-xr-x 1 python python 0 4月 24 11:50 2.txt #許可權是755

注意:是根據第乙個檔案的許可權來同步第二個檔案許可權,並且不支援三個引數,例如:shutil.copymode(『1.txt』,『2.txt』,『3.txt』)

4 shutil.copystat(src,dst) #複製所有的狀態資訊,包括許可權,組,使用者,時間等

vim之高階操作

前面總結了一些vim簡單的操作,接下來再來一些高階的操作.v v 視覺化選擇模式,即可選擇多行進行操作,用hjkl移動游標進行選擇要操作的資料.ctrl v 可用矩形的形式選擇 vim可同時開啟多個檔案 vim 檔案1 檔案2 開啟後可輸入命令檢視檔案的一些資訊 files 會顯示開啟的檔名,以及游...

Python之高階函式

一 什麼是高階函式 函式作為實參傳遞給函式的或者函式名為返回值的函式稱為高階函式。1 實參傳遞給函式 2 函式名為返回值 二 系統內建的高階函式 1 map函式 至少需要兩個引數,第乙個引數是函式名,第二個引數是序列 str,list,tuple map功能 把序列中的每乙個元素作為引數,傳給函式進...

Python之高階程式設計

1 給class繫結屬性 方便所有物件使用 2 使用 slote 變數 限制繫結屬性 slots name age 用tuple定義允許繫結的屬性名稱 子類例項允許定義的屬性就是自身的 slots 加上父類的 slots 3 property class student object propert...