學習筆記 使用Python對檔案進行簡單操作

2021-07-22 02:38:20 字數 2153 閱讀 6518

函式:shutil.rmtree(path[, ignore_errors[, onerror]])

該函式刪除乙個完整的目錄樹,path必須指向乙個目錄。如果ignore_errors為true,移除失敗的error會被忽略。否則,該error將會被onerror處理。

onerror(funciton, path, excinfo)

onerror是乙個可呼叫的函式。function是產生異常的函式,可以是os.path.islink(), os.listdir(), os.remove()或os.rmdir()。path是傳遞到function的路徑名。excinfo是由sys.exc_info()返回的異常資訊。

程式例項

import os, shutil, stat

dirs = [d for d in os.listdir('.') if os.path.isfile(d)]

for d in dirs:

print(str(d))

files = [f for f in os.listdir('.') if os.path.isfile(f)]

for f in files:

print(str(f))

該段程式列出當前目錄下所有資料夾和檔名。

def on_rm_error(func, path, exc_info):

os.chmod(path, stat.s_iwrite)

os.unlink(path)

shutil.rmtree('dirname', onerror = on_rm_error)

該段程式定義了onerror函式,執行了shutil.rmtree,dirname為需要刪除的資料夾名,如此處輸入為檔名,同樣能被刪除,但是會產生oserror。

相關函式 詳解

os.listdir(path)

該函式返回乙個存有該路徑下條目名稱的list,list按任意順序儲存。

os.path.isfile(path)

若該路徑為現有的檔案,則返回true。

os.path.isdir(path)

若該路徑為現有的目錄,則返回true。

os.chmod(path, mode)

該函式改變該路徑的讀寫模式,如引數為stat.s_iwrite時,可授予唯讀路徑寫許可權。

os.unlink(path)

該函式等同於os.remove,用來移除(刪除)乙個檔案路徑,如果該路徑是乙個資料夾,oserror異常會被觸發。

步驟 1:獲取壓縮檔案名

函式:os.path.splitext(path)

該函式分離路徑名為一對(root, ext),ext為空或僅包含乙個句點 『.』的字尾名。如path為」file.tar.gz」,為獲取file名,**如下:

import os

filename = "file.tar.gz"

root = os.path.splitext(os.path.splitext(filename)[0])[0]

步驟 2:解壓縮資料夾

tarfile函式

使用tarfile解壓tar.gz格式的壓縮檔案,具體**如下所示:

import tarfile

tar = tarfile.open(filename)

tar.extractall()

tar.close()

步驟 3:獲取解壓後資料夾下的目錄路徑

函式:os.path.join(path, *paths)

該函式連線乙個或多個path成分,返回串聯的path。**示例如下:

folders = [os.path.join(root, dir) for dir in sorted(os.listdir(root)) if os.path.isdir(os.path.join(root, dir))]
該段**獲取root路徑下的所有條目名稱的list,與root連線,並將所有屬於directory的新path存入folders,即可得到root路徑下的所有資料夾名。

python對檔案的 python對檔案的讀寫

檔案 file 什麼是檔案 檔案是用於資料儲存和單位 檔案通常用來長期儲存資料 檔案中的資料是以位元組為單位進行順序儲存的 檔案的操作流程 1.開啟檔案 2.讀 寫檔案 3.關閉檔案 注 任何的作業系統,乙個應用程式同時開啟檔案的數量有最大數限制 檔案的開啟函式 open file,mode rt ...

Python筆記 對檔案的讀寫操作

寫入檔案 f open my path my file.txt w f.write hello there f.close with語法,該語法會在你使用完檔案後自動關閉該檔案 with open my path my file.txt r as f file data f.read 在之前的 中,...

python對檔案操作

python中對檔案 資料夾 檔案操作函式 的操作需要涉及到os模組和shutil模組。得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 返回指定目錄下的所有檔案和目錄名 os.listdir 函式用來刪除乙個檔案 os.remove 刪除多個目錄 os.removedi...