在Python中,可以使用 os 模組主要對檔案進行重新命名,刪除等一些操作
以下為 os 模組常用的方法示例:
- 重新命名操作
import os
os.rename('Test.txt','Test_重新命名.txt')
# 引數1:要重新命名的原始檔
# 引數2:對原始檔要重新命名的名稱
- 刪除檔案
import os
os.remove('Test_重新命名.txt')
# 引數為要刪除的原始檔名稱,如果該檔案不存在則丟擲異常
- 建立空資料夾
import os
os.mkdir('newDir')
# 引數為要建立的空資料夾名稱
- 刪除空資料夾
import os
os.rmdir('newDir')
# 引數為要刪除的空資料夾名稱,如果該資料夾不存在則會丟擲異常
# 注意事項:使用該函式刪除資料夾時,資料夾必須是空的目錄。如若該資料夾存在資料或存在多及子目錄,刪除會丟擲異常
- 建立多級資料夾
import os
os.makedirs('d:/python/subdir')
- 刪除多級資料夾
由於os模組,只能刪除一級目錄並且只能刪除空的資料夾目錄。如果要刪除多級目錄並且是非空的目錄,就需要使用 shutil 模組
裡面的 rmtree 函式
import shutil
shutil.rmtree('d:/python')
# 把當前 python 資料夾,包含該資料夾目錄裡面的所有內容刪除掉
- 路徑拼接
import os
os.path.join('引數1','引數n')
# 把裡面的引數進行拼接
- 遍歷目錄
遍歷出 D 盤資料夾目錄
方式一 直接使用 os模組的 listdir
,返回一個列表
import os
listRs=os.listdir('d:/')
# listRs 返回的是一個列表,如果要遍歷要列表,使用 for 迴圈,如下
for item in listRs:
print(listRs) # 列表中,只是返回了當前D盤的一級目錄
方式二 使用 os 模組中的 scandir
,返回一個迭代器物件。由於 scandir 模組返回的是一個迭代物件,需要用 上下文管理器 with
配合使用,以便資源的管理釋放
import os
with os.scandir('d:/') as listRs:
for entry in listRs:
print(entry.name)
- 判斷一個路徑下某個檔名,是否是檔案
import os
basePath='d:/'
for entry in os.listdir(basePath): # 遍歷
if os.path.isfile(os.path.join(basePath,entry)): # 對路徑,和檔名進行拼接,判斷是否是檔案,才進行輸出
print(entry)
- 判斷一個路徑下某個檔名,是否是檔案目錄
import os
basePath='d:/'
for entry in os.listdir(basePath): # 遍歷
if os.path.isdir(os.path.join(basePath,entry)): # 對路徑,和檔名進行拼接,判斷是否是檔案目錄,才進行輸出
print(entry)