Python判断远程服务器上Excel文件是否被人打开的方法


Posted in Python onJuly 13, 2020

最近工作中需要去判断远程服务器上的某个Excel文件是否被打开,如果被人打开,则等待,如果没人打开使用,则去填写数据进Excel文件。

开始想的很简单,和其他语言一样,比如C#,打开文件,如果报错说明被占用,结果发现,Excel文件被其他人打开的情况下,python里面用可写'w'的方式打开文件,实际上并没有报错,执行完成也没任何错误,只是最后看Excel文件里面,发现实际要写入的东西并没被写入。

然后在网上找了一些方法,比如用openpyxl,pywin32等等,发现都做不到真正去判断Excel文件是否被其他人打开了。

后来想到一个解决方法:判断是否有“~$”开头的同名文件在同级目录下存在:比如test.xlsx被打开后会存在~$test.xlsx文件,如果没被打开则没有该文件。

Excel文件(具体来说应该是MS office文件)每次被打开后其实是会创建一个隐藏的"~$"开头的系统隐藏文件,比如打开test.xlsx后同级目录下其实是会有~$test.xlsx文件:

Python判断远程服务器上Excel文件是否被人打开的方法

因为~$test.xlsx是系统隐藏文件,如果要看到的话,需要显示所有系统隐藏文件信息,方法如下:

  • 点击任一文件夹左上角的“文件”
  • 点击“选项”打开“文件夹选项”
  • 点击“查看”条目,勾选“显示隐藏的文件、文件夹和驱动器”,然后去掉“隐藏受保护的操作系统文件(推荐)”的勾选

这样就可以看到~$test.xlsx这个隐藏文件了。

Python判断远程服务器上Excel文件是否被人打开的方法

知道了这个方法后,要去判断Excel文件是否被打开就很容易了,只需要判断~$test.xlsx文件是否存在即可,如果存在则认为test.xlsx文件被人打开,等待关闭,否则则认为该文件没人打开,直接编辑即可。

对于本地和远程服务器上的Excel文件否是被打开都可以用该方法。

到此这篇关于Python判断远程服务器上Excel文件是否被人打开的方法的文章就介绍到这了,更多相关python判断远程服务器excel文件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
简单上手Python中装饰器的使用
Jul 12 Python
关于python pyqt5安装失败问题的解决方法
Aug 08 Python
Python用户推荐系统曼哈顿算法实现完整代码
Dec 01 Python
python实现windows下文件备份脚本
May 27 Python
Python使用logging模块实现打印log到指定文件的方法
Sep 05 Python
在python中只选取列表中某一纵列的方法
Nov 28 Python
浅谈python下tiff图像的读取和保存方法
Dec 04 Python
Django中提示消息messages的设置方式
Nov 15 Python
python读取多层嵌套文件夹中的文件实例
Feb 27 Python
GDAL 矢量属性数据修改方式(python)
Mar 10 Python
Python eval函数介绍及用法
Nov 09 Python
最新Python idle下载、安装与使用教程图文详解
Nov 28 Python
Python依赖包迁移到断网环境操作
Jul 13 #Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
Jul 13 #Python
python--shutil移动文件到另一个路径的操作
Jul 13 #Python
python virtualenv虚拟环境配置与使用教程详解
Jul 13 #Python
python 安装移动复制第三方库操作
Jul 13 #Python
基于Python爬取fofa网页端数据过程解析
Jul 13 #Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 #Python
You might like
基于文本的留言簿
2006/10/09 PHP
php 中文处理函数集合
2008/08/27 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
js直接编辑当前cookie的脚本
2008/09/14 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
jquery重复提交请求的原因浅析
2014/05/23 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
聊一聊JS中的prototype
2016/09/29 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
webpack4简单入门实例
2018/09/06 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
Eclipse + Python 的安装与配置流程
2013/03/05 Python
python自动化测试之连接几组测试包实例
2014/09/28 Python
python简单区块链模拟详解
2019/07/03 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
2019/10/23 Python
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
医学院学生的自我评价分享
2013/11/19 职场文书
出国考察邀请函
2014/01/21 职场文书
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
保护地球的宣传语
2015/07/13 职场文书
四年级作文之植物
2019/09/20 职场文书
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL
nginx实现多geoserver服务的负载均衡
2022/05/15 Servers