Python shutil模塊(目錄和文件操做)

import shutil  #導入shutil模塊

copyfileobj方法python

將類文件對象fsrc的內容複製到類文件對象fdst學習

shutil.copyfileobj(fsrc, fdst[, length]) 

我通常的用法:spa

shutil.copyfileobj(open('file','r'),open('file','w'))

注:若是fsrc對象的當前文件位置不爲0,那麼將只複製從當前文件位置到文件末尾的內容翻譯

copyfile方法code

將名爲src的文件的內容複製到名爲dst的文件中,並返回dst。src和dst是做爲字符串給出的路徑名對象

shutil.copyfile(src,dst,*,follow_symlinks=True)

目標位置必須是可寫的。不然將引起OSError異常。若是dst已存在,它將被替換。blog

若是follow_symlinks爲false,而且src是一個符號連接,那麼將建立一個新的符號連接,而不是複製文件src指向(這是python文檔裏直接有道翻譯出來的,我也沒看懂是啥意思。學的仍是太淺了········)遞歸

 

copymode方法文檔

拷貝權限,文件內容、全部者和組不受影響。字符串

shutil.copymode(src,dst,*,follow_symlinks=True)

src和dst是做爲字符串給出的路徑名

 

copystat方法

將權限位、最後訪問時間、最後修改時間和標記從src複製到dst

shutil.copystat(src,dst,*,follow_symlinks=True)

 

copy方法

將文件src複製到文件或目錄dst

shutil.copy(src,dst,*,follow_symlinks=True)

src和dst都是字符串,通常用法以下:

shutil.copy(r'要複製的文件路徑(路徑+文件)',r'複製到的路徑')

注:要複製到的路徑是存在的才行,不存在該路徑會報錯。

 

copy2方法

與copy()方法相同,只是copy2()還試圖保存全部文件元數據。

shutil.copy2(src, dst, *, follow_symlinks=True)

 

 

 copytree方法

遞歸的複製文件,該方法能夠理解爲複製電腦上某個文件夾以及文件夾內的東西到另外一個文件夾

shutil.copytree(src,dst,ignore=None)

其中dst的路徑的最後一級必須是不存在的。如:D:\tools 這裏的tools這個文件夾必須是不存在的。由python建立。

這裏的ignore參數須要結合下列方式

shutil.ignore_patterns(*patterns)

個人理解就是須要忽視的文件的模式。用法以下:

shutil.copytree(src,dst,ignore=ignore_patterns('*.py'))

這裏的意思就是把 src目錄下的文件都複製到 dst 目錄下可是忽略掉 .py 文件。

 注:這裏要先定義一個須要忽略的文件的模式

如:

1 a=shutil.ignore_patterns('*.py')
2 shutil.copytree(src,dst,ignore=a)

 

 

 rmtree方法

shutil.rmtree(path)

遞歸的形式刪除 path 目錄,以及目錄下的全部文件

move方法

shutil.move(src,dst)

遞歸的形式移動 src 到 dst

若是dst是個現有的目錄 python 會將src移動到dst內 ,dst若是是個不存在的目錄 會調用os.ename 來更名字移動到目標位置。(應該是吧。我用的時候這個老報錯,移動是移動過去了,結果原文件還在,也是很奇怪。)

 

 

正在學習中······,學到新的東西會來修改或更新。

相關文章
相關標籤/搜索