本文實(shí)例講述了python實(shí)現(xiàn)刪除文件與目錄的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
os.remove(path)
刪除文件 path. 如果path是一個(gè)目錄, 拋出 OSError錯(cuò)誤。如果要?jiǎng)h除目錄,請(qǐng)使用rmdir().
remove() 同 unlink() 的功能是一樣的
在Windows系統(tǒng)中,刪除一個(gè)正在使用的文件,將拋出異常。在Unix中,目錄表中的記錄被刪除,但文件的存儲(chǔ)還在。
os.removedirs(path)
遞歸地刪除目錄。類似于rmdir(), 如果子目錄被成功刪除, removedirs() 將會(huì)刪除父目錄;但子目錄沒(méi)有成功刪除,將拋出錯(cuò)誤。
舉個(gè)例子, os.removedirs(“foo/bar/baz”) 將首先刪除 “foo/bar/ba”目錄,然后再刪除foo/bar 和 foo, 如果他們是空的話
如果子目錄不能成功刪除,將 拋出 OSError異常ob_start([string output_callback])- 打開(kāi)輸出緩沖區(qū)
所有的輸出信息不在直接發(fā)送到瀏覽器,而是保存在輸出緩沖區(qū)里面,可選得回調(diào)函數(shù)用于處理輸出結(jié)果信息。
ob_end_flush - 結(jié)束(發(fā)送)輸出緩沖區(qū)的內(nèi)容,關(guān)閉輸出緩沖區(qū)
使用output control 函數(shù)可以讓自由控制腳本中數(shù)據(jù)的輸出,這在我們想在header之前輸出時(shí)很有用。
代碼如下:
<?php
ob_start(); //打開(kāi)緩沖區(qū)
echo "輸出n"; //輸出
header("頭部信息");
ob_end_flush();//輸出全部?jī)?nèi)容到瀏覽器
?>
個(gè)人使用ob多數(shù)是在生成靜態(tài)html的時(shí)候,當(dāng)某個(gè)頁(yè)面不會(huì)再刷新,當(dāng)其他的用戶再次瀏覽此頁(yè)面時(shí),程序?qū)⒉粫?huì)再調(diào)用php以及相關(guān)的數(shù)據(jù)庫(kù)教程。這時(shí)候使用ob生成html就是很好的做法。
代碼如下:
<?php
ob_start();
if(@readfile($tem_path)){ //把指定路徑中的內(nèi)容寫(xiě)入緩存中。如果不存在返回false(就是某個(gè)你想轉(zhuǎn)換成html的php文件)
$content= ob_get_contents(); //得到緩存中的內(nèi)容
$fp = fopen("1.html", "w"); //創(chuàng)建一個(gè)文件,并打開(kāi),準(zhǔn)備寫(xiě)入
fwrite($fp, $content); //把php頁(yè)面的內(nèi)容全部寫(xiě)入1.html
}
fclose($fp);
ob_clean();
?>
os.rmdir(path)
刪除目錄 path,要求path必須是個(gè)空目錄,否則拋出OSError錯(cuò)誤
遞歸刪除目錄和文件(類似DOS命令DeleteTree):
復(fù)制代碼 代碼如下: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))
方法2:
復(fù)制代碼 代碼如下:import shutil
shutil.rmtree()
一行搞定:
復(fù)制代碼 代碼如下:__import__('shutil').rmtree()
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
更多信息請(qǐng)查看IT技術(shù)專欄