Python OS模組操作檔案

build2024發表於2024-07-06

在Python中,可以使用 os 模組主要對檔案進行重新命名,刪除等一些操作

以下為 os 模組常用的方法示例:

  1. 重新命名操作
import os
os.rename('Test.txt','Test_重新命名.txt')
# 引數1:要重新命名的原始檔
# 引數2:對原始檔要重新命名的名稱
  1. 刪除檔案
import os
os.remove('Test_重新命名.txt')
# 引數為要刪除的原始檔名稱,如果該檔案不存在則丟擲異常
  1. 建立空資料夾
import os
os.mkdir('newDir')
# 引數為要建立的空資料夾名稱

  1. 刪除空資料夾
import os
os.rmdir('newDir')
# 引數為要刪除的空資料夾名稱,如果該資料夾不存在則會丟擲異常
# 注意事項:使用該函式刪除資料夾時,資料夾必須是空的目錄。如若該資料夾存在資料或存在多及子目錄,刪除會丟擲異常
  1. 建立多級資料夾
import os
os.makedirs('d:/python/subdir')

  1. 刪除多級資料夾

由於os模組,只能刪除一級目錄並且只能刪除空的資料夾目錄。如果要刪除多級目錄並且是非空的目錄,就需要使用 shutil 模組裡面的 rmtree 函式

import shutil
shutil.rmtree('d:/python')
# 把當前 python 資料夾,包含該資料夾目錄裡面的所有內容刪除掉
  1. 路徑拼接
import os
os.path.join('引數1','引數n')
# 把裡面的引數進行拼接
  1. 遍歷目錄

遍歷出 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)

  1. 判斷一個路徑下某個檔名,是否是檔案
import os

basePath='d:/'
for entry in os.listdir(basePath): # 遍歷
    if os.path.isfile(os.path.join(basePath,entry)): # 對路徑,和檔名進行拼接,判斷是否是檔案,才進行輸出
        print(entry)

  1. 判斷一個路徑下某個檔名,是否是檔案目錄
import os

basePath='d:/'
for entry in os.listdir(basePath): # 遍歷
    if os.path.isdir(os.path.join(basePath,entry)): # 對路徑,和檔名進行拼接,判斷是否是檔案目錄,才進行輸出
        print(entry)

相關文章