下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第使用Python判斷一個(gè)文件是否被占用的方法教程今天有同學(xué)問(wèn),用os模塊的access()能否判斷一個(gè)文件是否被占用?直覺(jué)上,這是行不通的,因?yàn)閍ccess()返回的是文件的讀寫(xiě)屬性。為了確認(rèn)這一點(diǎn),我簡(jiǎn)單測(cè)試了一下。
importos
fn=rD:\temp\csdn\t.py#測(cè)試用的文件
os.access(fn,os.F_OK)#文件是否存在
os.access(fn,os.R_OK)#文件是否可讀
os.access(fn,os.W_OK)#文件是否可寫(xiě)
os.access(fn,os.X_OK)#文件是否可執(zhí)行
fp=open(fn,a+)#以追加寫(xiě)的方式打開(kāi)文件
os.access(fn,os.F_OK)#文件當(dāng)然還在
os.access(fn,os.R_OK)#文件依然可讀
os.access(fn,os.W_OK)#文件依然可寫(xiě)
os.access(fn,os.X_OK)#文件依然執(zhí)行
fp.close()
可見(jiàn),os.access()返回的是文件讀寫(xiě)屬性,與文件是否被占用沒(méi)有半毛錢(qián)關(guān)系。
后來(lái),群里有同學(xué)建議說(shuō),不妨用try嘗試著open文件,如果成功,表示文件沒(méi)有被占用,如果拋出異常,則表示文件被占用。果真如此嗎?還是用代碼驗(yàn)證一下吧。
fp1=open(fn,a+)
fp2=open(fn,a+)
fp1.close()
fp2.close()
結(jié)果表明,對(duì)同一個(gè)文件以寫(xiě)的方式打開(kāi)多次,系統(tǒng)并沒(méi)有拋出異常。為什么會(huì)這樣呢?究其原因,是因?yàn)槲募淮蜷_(kāi)和文件被占用是完全兩個(gè)不同的問(wèn)題。順便提醒一下,做上面的測(cè)試時(shí),不要使用w的方式,否則文件內(nèi)容會(huì)被清空。
那么,究竟應(yīng)該如何用Python判斷一個(gè)文件是否被占用呢?這個(gè)問(wèn)題還是要回歸到操作系統(tǒng)層面來(lái)解決,也就是依賴win32api模塊。
importwin32file
defis_used(file_name):
try:
vHandle=win32file.CreateFile(file_name,win32file.GENERIC_READ,0,None,win32file.OPEN_EXISTING,win32file.FILE_ATTRIBUTE_NORMAL,None)
returnint(vHandle)==win32file.INVALID_HANDLE_VALUE
except:
returnTrue
finally:
try:
win32file.CloseHandle(vHandle)
except:
pass
fn=rD:\temp\csdn\t.py
is_used(fn)
False
fp=open(fn,a+)
is_used
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 流程工業(yè)智能制造技術(shù)理論及應(yīng)用 課件 第六章-流程工業(yè)數(shù)字孿生
- 內(nèi)務(wù)培訓(xùn)課件
- 濰坊沙龍-活動(dòng)策劃方案(3篇)
- 社會(huì)體育指導(dǎo)中心管理制度(3篇)
- 管理制度格式及范文圖片(3篇)
- 車(chē)間安全風(fēng)險(xiǎn)防范管理制度(3篇)
- 長(zhǎng)治燒烤活動(dòng)策劃方案(3篇)
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)倉(cāng)儲(chǔ)式超市行業(yè)發(fā)展運(yùn)行現(xiàn)狀及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 紗線培訓(xùn)教學(xué)課件
- 企業(yè)檔案歸檔與保管制度
- 電視節(jié)目編導(dǎo)與制作(全套課件147P)
- 《碳排放管理體系培訓(xùn)課件》
- 危險(xiǎn)化學(xué)品安全風(fēng)險(xiǎn)專項(xiàng)辨識(shí)與管控措施
- 2024年人教版八年級(jí)歷史上冊(cè)期末考試卷(附答案)
- 區(qū)間閉塞設(shè)備維護(hù)課件:表示燈電路識(shí)讀
- 壓縮空氣管道安裝工程施工組織設(shè)計(jì)方案
- 《計(jì)算機(jī)組成原理》周建敏主編課后習(xí)題答案
- 人教版二年級(jí)上冊(cè)數(shù)學(xué)全冊(cè)教案(新版教材)
- 人教版數(shù)學(xué)八年級(jí)上冊(cè)《等邊三角形的性質(zhì)和判定》說(shuō)課稿
- SL∕T 291-2020 水利水電工程鉆探規(guī)程(水利)
- 2024全員安全生產(chǎn)應(yīng)知應(yīng)會(huì)手冊(cè)
評(píng)論
0/150
提交評(píng)論