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标准日志模块logging的使用方法
Nov 01 Python
python实现udp数据报传输的方法
Sep 26 Python
python类装饰器用法实例
Jun 04 Python
python 系统调用的实例详解
Jul 11 Python
微信跳一跳辅助python代码实现
Jan 05 Python
Python内置模块logging用法实例分析
Feb 12 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 Python
Python实现重建二叉树的三种方法详解
Jun 23 Python
Python使用ConfigParser模块操作配置文件的方法
Jun 29 Python
Python datetime包函数简单介绍
Aug 28 Python
Python几种常见算法汇总
Jun 02 Python
python绘制简单直方图(质量分布图)的方法
Apr 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
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
php桥接模式应用案例分析
2019/10/23 PHP
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
jQuery实现dialog设置focus焦点的方法
2015/06/10 Javascript
Vue.js每天必学之方法与事件处理器
2016/09/06 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
手把手教你把nodejs部署到linux上跑出hello world
2017/06/19 NodeJs
VueJs单页应用实现微信网页授权及微信分享功能示例
2017/07/26 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
[51:06]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第二场 1月26日
2021/03/11 DOTA
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
Python subprocess模块详细解读
2018/01/29 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
Python使用Pandas库实现MySQL数据库的读写
2019/07/06 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
高级方案规划工程师岗位职责
2013/11/29 职场文书
爱情保证书范文
2014/02/01 职场文书
团日活动策划书
2014/02/01 职场文书
元宵节主持词
2014/03/25 职场文书
计算机专业应届生求职信
2014/04/06 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
与美同行演讲稿
2014/09/13 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
2015大学迎新标语
2015/07/16 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书