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根据经纬度计算距离示例
Feb 16 Python
Python学习之asyncore模块用法实例教程
Sep 29 Python
python实现超简单端口转发的方法
Mar 13 Python
python使用xlrd模块读写Excel文件的方法
May 06 Python
python数据结构之图的实现方法
Jul 08 Python
python去除空格和换行符的实现方法(推荐)
Jan 04 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
Jun 27 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
Feb 25 Python
python数字类型math库原理解析
Mar 02 Python
python实现凯撒密码、凯撒加解密算法
Jun 11 Python
Keras中的多分类损失函数用法categorical_crossentropy
Jun 11 Python
MATLAB数学建模之画图汇总
Jul 16 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
将PHP作为Shell脚本语言使用
2006/10/09 PHP
php截取字符串函数分享
2015/02/02 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
javascript call和apply方法
2008/11/24 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
JavaScript原生对象常用方法总结(推荐)
2016/05/13 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
vue深入解析之render function code详解
2017/07/18 Javascript
JS+canvas动态绘制饼图的方法示例
2017/09/12 Javascript
在Vue组件中获取全局的点击事件方法
2018/09/06 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
2019/07/19 Javascript
python实现提取百度搜索结果的方法
2015/05/19 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
实现ECharts双Y轴左右刻度线一致的例子
2020/05/16 Python
python def 定义函数,调用函数方式
2020/06/02 Python
台湾生鲜宅配:大口市集
2017/10/14 全球购物
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
Linux文件操作命令都有哪些
2016/07/23 面试题
外贸员简历中的自我评价
2014/03/04 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
质量标语大全
2014/06/12 职场文书
幼儿园六一活动总结
2014/08/27 职场文书
个人向公司借款协议书
2014/10/09 职场文书
学习群众路线的心得体会
2014/11/05 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
2014年标准化工作总结
2014/12/17 职场文书
爱心助学感谢信
2015/01/21 职场文书
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript