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.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"
)
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 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 指...