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操作mysql中文显示乱码的解决方法
Oct 11 Python
简单介绍Python中的try和finally和with方法
May 05 Python
浅谈Python基础之I/O模型
May 11 Python
Django 导出 Excel 代码的实例详解
Aug 11 Python
基于Django用户认证系统详解
Feb 21 Python
详解python实现线程安全的单例模式
Mar 05 Python
用python编写第一个IDA插件的实例
May 29 Python
详解python中的线程与线程池
May 10 Python
Python 实现交换矩阵的行示例
Jun 26 Python
命令行运行Python脚本时传入参数的三种方式详解
Oct 11 Python
关于Python错误重试方法总结
Jan 03 Python
用python实现监控视频人数统计
May 21 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
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
PHP个人网站架设连环讲(三)
2006/10/09 PHP
又一个php 分页类实现代码
2009/12/03 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
javascript框架设计读书笔记之模块加载系统
2014/12/02 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
2016/11/24 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
python基础教程之获取本机ip数据包示例
2014/02/10 Python
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
利用Pycharm断点调试Python程序的方法
2018/11/29 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
使用python分析统计自己微信朋友的信息
2019/07/19 Python
python实现PID算法及测试的例子
2019/08/08 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
Numpy数组的广播机制的实现
2020/11/03 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
总经理职责
2013/12/22 职场文书
事务机电主管工作职责
2014/02/25 职场文书
银行服务感言
2014/03/01 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
网络新闻该怎么写?这些写作技巧你都知道吗?
2019/08/26 职场文书