python 標準庫之shutil

2021-10-06 09:59:05 字數 1876 閱讀 8238

pip install shutil
1,複製檔案

1.shutil.copy(src, dst)

拷貝檔案和許可權

#返回值是複製之後的路徑
例子:

import shutil

shutil.copy('f1.log', 'f2.log')

2,shutil.copy2(src, dst)

拷貝檔案和狀態資訊

import shutil

shutil.copy2('f1.log', 'f2.log')

3,shutil.copyfile(src, dst)

將乙個檔案的內容拷貝的另外乙個檔案當中

#返回值是複製之後的路徑

shutil.copyfile(**檔案,目標檔案)

shutil.copyfile('f1.log', 'f2.log') #目標檔案無需存在
4.shutil.copyfileobj(fsrc, fdst[, length])

將乙個檔案的內容拷貝的另外乙個檔案當中

(用的比較少)

shutil.copyfileobj(open(**檔案,'r'),open('目標檔案','w'))

import shutil

shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w'))

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

複製整個檔案目錄

(無**件夾是否為空,均可以複製,而且會複製資料夾中的所有內容)

shutil.copytree(**目錄,目標目錄)
copytree(source, destination, ignore=ignore_patterns('*.pyc', 'tmp*')) 

6,shutil.rmtree(path[, ignore_errors[, onerror]])(刪除的是資料夾,如果刪除檔案os.unlink(path))

移除整個目錄,無論是否空

shutil.rmtree(目錄路徑)

import shutil

shutil.rmtree('folder1')

7,shutil.move(src, dst)

shutil.move(**位址,目標位址)

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

import shutil

shutil.move('folder1', 'folder3')

有時候在進行大量檔案複製的過程中,會出現同樣名字被覆蓋的問題看到很多案列感覺麻煩,懶人有懶人的辦法

import os

import time

# 判斷檔名已經存在

if os.path.exists(file_path+'\\'+wordfile2):

#把原來的檔名進行改掉

#主要是如果迴圈多,重複的名字多,所以用時間戳進行代替,不會弄重複

os.rename(file_path+'\\'+wordfile2, file_path+'\\'+str(time.time())+wordfile2)

python3之sys模組以及shutil模組

本章節介紹sys模組以及shutil模組,分享給剛學python的小夥伴,一起學習,共同進步 sys模組import sys 獲取python的版本資訊 print sys.version print sys.ar 退出 sys.exit 1 shutil模組 import shutil 主要做複製...

Python標準庫之time, datetime包

python具有良好的時間和日期管理功能。實際上,計算機只會維護乙個掛鐘時間 wall clock time 這個時間是從某個固定時間起點到現在的時間間隔。時間起點的選擇與計算機相關,但一台計算機的話,這一時間起點是固定的。其它的日期資訊都是從這一時間計算得到的。此外,計算機還可以測量cpu實際上執...

Python標準庫之asyncio

asyncio是python 3.4版本引入的標準庫,直接內建了對非同步io的支援。asyncio的程式設計模型就是乙個訊息迴圈。我們從asyncio模組中直接獲取乙個eventloop的引用,然後把需要執行的協程扔到eventloop中執行,就實現了非同步io。用asyncio實現hello wo...