Python:使用 os、shutil 模組對檔案與目錄操作
阿新 • • 發佈:2019-02-06
當你想批量處理檔案的時候,使用 python 對檔案或者資料夾進行操作,可以迅速地解決問題。
在 python 裡面有幾個內建模組可以對檔案進行復制、移動、重新命名及讀寫等操作。以下是對 os、shutil 模組裡面的重要函式與方法進行的簡單介紹。
一、os 模組
常用函式和方法:
函式或方法 | 說明 | 函式或方法 | 說明 |
---|---|---|---|
os.rename(old, new) | 重新命名檔案 | os.makedirs(dir) | 建立多級目錄 |
os.remove(file) | 刪除檔案 | os.mkdir(dir) | 建立單級目錄 |
os.listdir(path) | 列出所指目錄下的所有檔案 | os.rmdir(dir) | 刪除空目錄 |
os.path.split() | 分離路徑與檔名 | os.path.splitext() | 分離檔案與副檔名 |
os.path.basename() | 獲取檔名 | os.path.exists() | 判斷檔案是否存在 |
os.path.isabs() | 判斷是否是絕對路徑 | os.path.isdir() | 判斷是否為目錄 |
os.path.isfile() | 判斷是否為檔案 | os.path.join() | 把路徑與檔名結合 |
二、shutil 模組
常用函式和方法:
函式或方法 | 說明 | 函式或方法 | 說明 |
---|---|---|---|
shutil.copyfile(old, new) | 僅複製檔案內容,不含屬性 | shutil.copy(old, new) | 含有檔案的許可權屬性 |
shutil.copy2(old, new) | 含所有的檔案屬性 | shutil.copytree(old, new) | 複製整個目錄 |
shutil.rmtree() | 刪除目錄(包括內容) | shutil.move(old, new) | 移動目錄或檔案 |
三、檔案讀寫
1.使用 open(file, 'mode')
來開啟一個檔案,若檔案不存在,則建立這個檔案。
第二個引數是檔案的開啟模式:
r:讀方式
w:寫方式
a:讀寫方式
r+:可讀可寫
w+:讀寫。若檔案已存在則將其覆蓋;若檔案不存在,則建立這個檔案。
a+:讀寫。若檔案已存在,檔案開啟時會是追加模式,即游標將會放在檔案的結尾;若檔案不存在,則建立這個檔案。
2.對檔案進行讀寫操作
使用 write()、read()、readline()、readlines() 等可對檔案進行讀寫,使用時格式如下
# 開啟檔案
f = open(file, 'a+')
# 把字元寫進檔案
f.wrire('str')
# 讀取檔案,可指定讀取的長度
f.read()
# 讀取一行內容,可指定 size 讀取一行的某一部分
f.readline()
# 讀取檔案並返回一個列表,每一行是列表的一個元素
f.readlines()
# 關閉檔案
f.close()
在檔案中想進行換行可以使用換行符 /n