Python 實現刪除某路徑下檔案及資料夾

2021-09-26 15:30:07 字數 4475 閱讀 7383

python 實現刪除某路徑下檔案及資料夾的指令碼

#!/usr/bin/env python

import os

import shutil

dellist =

deldir ="/home/test"

dellist = os.listdir(deldir )

forf in dellist:

filepath = os.path.join( deldir, f )

ifos.path.isfile(filepath):

os.remove(filepath)

printfilepath +" was removed!"

elif os.path.isdir(filepath):

shutil.rmtree(filepath,true)

print"directory: "+ filepath +" was removed!"

shutil是乙個高層次的檔案操作模組。true引數表示ignore_errors(忽略拷貝時候的錯誤)。

類似於高階api,而且主要強大之處在於其對檔案的複製與刪除操作更是比較支援好。

[附] os模組(庫)的使用

有關資料夾與檔案的查詢,刪除等功能 在 os 模組中實現。

一、取得當前目錄

#1.1

s = os.getcwd()

# s 中儲存的是當前的執行目錄(即執行所在的資料夾)

[注意]

如果是要獲得程式執行的當前目錄所在位置,那麼可以使用os模組的os.getcwd()函式。

如果是要獲得當前執行的指令碼的所在目錄位置,那麼需要使用sys模組的sys.path[0]變數或者sys.ar**[0]來獲得

#1.2

import os

import time

folder = time.strftime(r"%y-%m-%d_%h-%m-%s",time.localtime())

os.makedirs(r'%s/%s'%(os.getcwd(),folder))

二、更改當前目錄

os.chdir("/root/123")

#將當前目錄設為"/root/123"

#說明: 當指定的目錄不存在時,引發異常。

三、將乙個路徑名分解為目錄名和檔名兩部分

fpath , fname = os.path.split("你要分解的路徑")

例如:a, b = os.path.split("/root/123/test.txt")

printa

printb

顯示:/root/123/

test.txt

四、分解檔名的副檔名

fpathandname , fext = os.path.splitext("你要分解的路徑")

例如:

a, b = os.path.splitext("/root/123/test.txt")

printa

printb

顯示:

/root/123/test

.txt

五、判斷乙個路徑( 目錄或檔案)是否存在

b = os.path.exists("你要判斷的路徑")

返回值b: true 或 false

六、判斷乙個路徑是否檔案

b = os.path.isfile("你要判斷的路徑")

返回值b: true 或 false

七、判斷乙個路徑是否目錄

b = os.path.isdir("你要判斷的路徑")

返回值b: true 或 false

八、獲取某目錄中的檔案及子目錄的列表

l = os.listdir("你要判斷的路徑")

例如:

l = os.listdir("/root/123")

printl

顯示 :

[『test.txt', 『test.py','python']

#這裡面既有檔案也有子目錄

九、建立子目錄

os.makedirs( path )  # path 是"要建立的子目錄"

例如:

os.makedirs("/root/123")

呼叫有可能失敗,可能的原因是:

(1) path 已存在時(不管是檔案還是資料夾)

(2) 驅動器不存在

(3) 磁碟已滿

(4)磁碟是唯讀的或沒有寫許可權

十、刪除子目錄

os.rmdir( path ) # path: "要刪除的子目錄"

產生異常的可能原因:

(1) path 不存在

(2) path 子目錄中有檔案或下級子目錄

(3) 沒有操作許可權或唯讀

一、刪除檔案

os.remove(  filename )  # filename:"要刪除的檔名"

產生異常的可能原因:

(1) filename 不存在

(2) 對filename檔案, 沒有操作許可權或唯讀。

二、檔案改名

os.name( oldfilename, newfilename)

產生異常的原因:

(1) oldfilename 舊檔名不存在

(2) newfilename 新檔案已經存在時,此時,您需要先刪除 newfilename 檔案。

Python 實現刪除某路徑下檔案及資料夾

python 實現刪除某路徑下檔案及資料夾的指令碼 usr bin env python import os import shutil dellist deldir home test dellist os.listdir deldir for f in dellist filepath os.p...

讓Python刪除window下檔案

今天接到 有樓下客戶反映,資料有問題,我連線到伺服器上,發現broke的乙個碟符空間滿了,導致,應用在報錯,停下服務,刪除了龐大的日誌檔案,服務開啟,一切正常了。早就想寫個指令碼放在伺服器上,今天正好有空,於是扒拉了一下,寫了個python的小指令碼,大牛就不用看了,原理是找出每個檔案的修改時間,如...

bat 刪除某路徑7天前的檔案

echo off forfiles p d logstash 1.4.2 bin m log d 7 c cmd c del f path forfiles p d logstash 1.4.2 bin m mdmp d 7 c cmd c del f path pause forfiles p 指...