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实现计算资源图标crc值的方法
Oct 05 Python
关于python的bottle框架跨域请求报错问题的处理方法
Mar 19 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
Nov 16 Python
Python方法的延迟加载的示例代码
Dec 18 Python
python文件读写代码实例
Oct 21 Python
tensorflow 实现打印pb模型的所有节点
Jan 23 Python
Python configparser模块常用方法解析
May 22 Python
Django 实现 Websocket 广播、点对点发送消息的代码
Jun 03 Python
Python爬虫基于lxml解决数据编码乱码问题
Jul 31 Python
python使用scapy模块实现ARP扫描的过程
Jan 21 Python
详解python字符串驻留技术
May 21 Python
Python pandas求方差和标准差的方法实例
Aug 04 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 购物车实例(申精)
2009/05/11 PHP
PHP中对缓冲区的控制实现代码
2013/09/29 PHP
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
python环境路径配置以及命令行运行脚本
2019/04/02 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
python实现共轭梯度法
2019/07/03 Python
VScode连接远程服务器上的jupyter notebook的实现
2020/04/23 Python
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
软件测试有哪些?什么是配置项?
2012/02/12 面试题
告诉你怎样写创业计划书
2014/01/27 职场文书
2014年端午节活动方案
2014/03/11 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
新闻报道策划方案
2014/06/11 职场文书
驾驶员安全责任书
2014/07/22 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
承诺书模板
2014/08/30 职场文书
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript