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

2021-07-26 19:24:07 字數 2694 閱讀 3811

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

#!/usr/bin/env python

import os

import shutil

dellist =

deldir = "/home/test"

dellist = os.listdir(deldir )

for f in dellist:

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

if os.path.isfile(filepath):

os.remove(filepath)

print filepath + " 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.argv[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" )

print a

print b

顯示:/root/123/

test.txt

四、分解檔名的副檔名

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

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

print a

print b

顯示:/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" )

print l

顯示 :

[『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 forf in dellist filepath os.pa...

讓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 指...