Python判斷遠(yuǎn)程服務(wù)器上Excel文件是否被人打開的方法
最近工作中需要去判斷遠(yuǎn)程服務(wù)器上的某個Excel文件是否被打開,如果被人打開,則等待,如果沒人打開使用,則去填寫數(shù)據(jù)進(jìn)Excel文件。
開始想的很簡單,和其他語言一樣,比如C#,打開文件,如果報錯說明被占用,結(jié)果發(fā)現(xiàn),Excel文件被其他人打開的情況下,python里面用可寫'w'的方式打開文件,實(shí)際上并沒有報錯,執(zhí)行完成也沒任何錯誤,只是最后看Excel文件里面,發(fā)現(xiàn)實(shí)際要寫入的東西并沒被寫入。
然后在網(wǎng)上找了一些方法,比如用openpyxl,pywin32等等,發(fā)現(xiàn)都做不到真正去判斷Excel文件是否被其他人打開了。
后來想到一個解決方法:判斷是否有“~$”開頭的同名文件在同級目錄下存在:比如test.xlsx被打開后會存在~$test.xlsx文件,如果沒被打開則沒有該文件。
Excel文件(具體來說應(yīng)該是MS office文件)每次被打開后其實(shí)是會創(chuàng)建一個隱藏的"~$"開頭的系統(tǒng)隱藏文件,比如打開test.xlsx后同級目錄下其實(shí)是會有~$test.xlsx文件:
因?yàn)閪$test.xlsx是系統(tǒng)隱藏文件,如果要看到的話,需要顯示所有系統(tǒng)隱藏文件信息,方法如下:
- 點(diǎn)擊任一文件夾左上角的“文件”
- 點(diǎn)擊“選項(xiàng)”打開“文件夾選項(xiàng)”
- 點(diǎn)擊“查看”條目,勾選“顯示隱藏的文件、文件夾和驅(qū)動器”,然后去掉“隱藏受保護(hù)的操作系統(tǒng)文件(推薦)”的勾選
這樣就可以看到~$test.xlsx這個隱藏文件了。
知道了這個方法后,要去判斷Excel文件是否被打開就很容易了,只需要判斷~$test.xlsx文件是否存在即可,如果存在則認(rèn)為test.xlsx文件被人打開,等待關(guān)閉,否則則認(rèn)為該文件沒人打開,直接編輯即可。
對于本地和遠(yuǎn)程服務(wù)器上的Excel文件否是被打開都可以用該方法。
到此這篇關(guān)于Python判斷遠(yuǎn)程服務(wù)器上Excel文件是否被人打開的方法的文章就介紹到這了,更多相關(guān)python判斷遠(yuǎn)程服務(wù)器excel文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Django中的filter方法進(jìn)行數(shù)據(jù)查詢的基本操作
在 Django 中,QuerySet 的 filter() 方法是一個強(qiáng)大的工具,用于從數(shù)據(jù)庫中檢索數(shù)據(jù)并根據(jù)指定的條件進(jìn)行篩選,在本文中,我們將介紹如何使用 filter() 方法來執(zhí)行各種類型的數(shù)據(jù)查詢操作,需要的朋友可以參考下2024-05-05講解Python3中NumPy數(shù)組尋找特定元素下標(biāo)的兩種方法
這篇文章主要介紹了講解Python3中NumPy數(shù)組尋找特定元素下標(biāo)的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Python?數(shù)據(jù)可視化神器Pyecharts繪制圖像練習(xí)
這篇文章主要介紹了Python?數(shù)據(jù)可視化神器Pyecharts繪制圖像練習(xí),繪制的圖形有柱狀圖、餅狀圖、箱型圖、折線圖、雷達(dá)圖等多種圖像,需要的小伙伴可以參考一下2022-02-02windows10系統(tǒng)中安裝python3.x+scrapy教程
本文給大家主要介紹了在windows10系統(tǒng)中安裝python3以及scrapy框架的教程以及有可能會遇到的問題的解決辦法,希望大家能夠喜歡2016-11-11python新式類和經(jīng)典類的區(qū)別實(shí)例分析
這篇文章主要介紹了python新式類和經(jīng)典類的區(qū)別,結(jié)合實(shí)例形式分析了python新式類和經(jīng)典類的功能、區(qū)別與使用方法,需要的朋友可以參考下2020-03-03