os.remove() 方法用於刪除指定路徑的檔案。如果指定的路徑是乙個目錄,將丟擲oserror。
在unix, windows中有效
以下例項演示了 remove() 方法的使用:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os, sys
# 列出目錄
print "目錄為: %s" %os.listdir(os.getcwd())
# 移除
os.remove("aa.txt")
# 移除後列出目錄
print "移除後 : %s" %os.listdir(os.getcwd())
執行以上程式輸出結果為:
目錄為:
[ 'a1.txt','aa.txt','resume.doc' ]
移除後 :
[ 'a1.txt','resume.doc' ]
os.removedirs() 方法用於遞迴刪除目錄。像rmdir(), 如果子資料夾成功刪除, removedirs()才嘗試它們的父資料夾,直到丟擲乙個error(它基本上被忽略,因為它一般意味著你資料夾不為空)。
以下例項演示了 removedirs() 方法的使用:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os, sys
# 列出目錄
print "目錄為: %s" %os.listdir(os.getcwd())
# 移除
os.removedirs("/test")
# 列出移除後的目錄
print "移除後目錄為:" %os.listdir(os.getcwd())
執行以上程式輸出結果為:
目錄為:
[ 'a1.txt','resume.doc','a3.py','test' ]
移除後目錄為:
[ 'a1.txt','resume.doc','a3.py' ]
os.rmdir() 方法用於刪除指定路徑的目錄。僅當這資料夾是空的才可以, 否則, 丟擲oserror。
以下例項演示了 rmdir() 方法的使用:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os, sys
# 列出目錄
print "目錄為: %s"%os.listdir(os.getcwd())
# 刪除路徑
os.rmdir("mydir")
# 列出重新命名後的目錄
print "目錄為: %s" %os.listdir(os.getcwd())
執行以上程式輸出結果為:
目錄為:
[ 'a1.txt','resume.doc','a3.py','mydir' ]
目錄為:
[ 'a1.txt','resume.doc','a3.py' ]
os.unlink() 方法用於刪除檔案,如果檔案是乙個目錄則返回乙個錯誤。
以下例項演示了 unlink() 方法的使用:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os, sys
# 列出目錄
print "目錄為: %s" %os.listdir(os.getcwd())
os.unlink("aa.txt")
# 刪除後的目錄
print "刪除後的目錄為 : %s" %os.listdir(os.getcwd())
執行以上程式輸出結果為:
目錄為:
[ 'a1.txt','aa.txt','resume.doc']
刪除後的目錄為 :
[ 'a1.txt','resume.doc' ]
1、remove()同unlink()的功能是一樣的
在windows系統中,刪除乙個正在使用的檔案,將丟擲異常。在unix中,目錄表中的記錄被刪除,但檔案的儲存還在。
#使用os.unlink()和os.remove()來刪除檔案
#!/user/local/bin/python2.7
# -*- coding:utf-8 -*-
import os
my_file = 'd:/text.txt'
if os.path.exists(my_file):
#刪除檔案,可使用以下兩種方法。
os.remove(my_file)
#os.unlink(my_file)
else:
print 'no such file:%s'%my_file
2、遞迴刪除目錄和檔案的方法(類似dos命令deletetree):
複製** **如下:
import os
for root, dirs, files in os.walk(top, topdown=false):
for name in files:
os.remove(os.path.join(root, name))
for name in dirs:
os.rmdir(os.path.join(root, name))
3、python清空指定資料夾下所有檔案的方法:
這個需求很簡單:需要在執行某些**前清空指定的資料夾,如果直接用os.remove(),可能出現因資料夾中檔案被占用而無法刪除,解決方法也很簡單,先強制刪除資料夾,再重新建同名資料夾即可:
import shutil
shutil.rmtree('要清空的資料夾名')
os.mkdir('要清空的資料夾名')
注:可參考這裡對shutil模組的介紹:
如果想把乙個檔案從乙個資料夾移動到另乙個資料夾,並同時重新命名,用shutil也很簡單:
shutil.move('原資料夾/原檔名','目標資料夾/目標檔名')
參考文獻:
1、 2018.5.25
2、 2018.5.25
3、 2018.5.25
4、 2018.5.25
5、 2018.5.25
6、 2018.5.25
這個需求很簡單:需要在執行某些**前清空指定的資料夾,如果直接用os.remove(),可能出現因資料夾中檔案被占用而無法刪除,解決方法也很簡單,先強制刪除資料夾,再重新建同名資料夾即可:
import shutil
shutil.rmtree('要清空的資料夾名')
os.mkdir('要清空的資料夾名')
簡單記錄一下。
可參考這裡對shutil模組的介紹:
2023年7月21日更新:這裡補充乙個shutil的應用,如果想把乙個檔案從乙個資料夾移動到另乙個資料夾,並同時重新命名,用shutil也很簡單:
shutil.move('原資料夾/原檔名','目標資料夾/目標檔名')
python 複製指定資料夾下所有檔案
get all file by type 根據接收到的path 和type,獲得該path下所有以type型別結尾的檔案 get all file by string 根據接收到的path 和 list,獲得該path下所有的,包含list 裡字串的檔案 copy file by type 根據接收...
Python列舉指定資料夾下的特定檔案
方案 1 利用 glob 模組 import glob import os dst path c ext name txt os.chdir dst path for file in glob.glob ext name pass 方案 2 利用 os.listdir import os dst p...
查詢指定資料夾下的檔案
include include using namespace std finddata t結構體 struct finddata t void main attrib為檔案屬性,由以下字元代表 fa rdonly 唯讀檔案 fa label 卷標號 fa hidden 隱藏檔案 fa direc ...