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 相关文章推荐
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
简述Python中的面向对象编程的概念
Apr 27 Python
Python RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
Python 3中的yield from语法详解
Jan 18 Python
Python常用内置模块之xml模块(详解)
May 23 Python
python中判断文件编码的chardet(实例讲解)
Dec 21 Python
手把手教你python实现SVM算法
Dec 27 Python
详解python中的线程
Feb 10 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
Nov 29 Python
如何使用Python实现斐波那契数列
Jul 02 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
Pytest allure 命令行参数的使用
Apr 18 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 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
php中动态调用函数的方法
2015/03/16 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
Jquery弹出窗口插件 LeanModal的使用方法
2012/03/10 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
Bootstrap每天必学之js插件
2015/11/30 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
React数据传递之组件内部通信的方法
2017/12/31 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
js实现内置计时器
2019/12/16 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
[01:48:04]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第一场 2月7日
2021/03/11 DOTA
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
Python3安装Pymongo详细步骤
2017/05/26 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
慕尼黑山地运动、户外服装和体育用品专家:Sporthaus Schuster
2019/08/27 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
电大自我鉴定
2013/10/27 职场文书
财务主管的岗位职责
2013/12/30 职场文书
小学班主任评语大全
2014/04/23 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
中学团支部工作总结
2015/08/13 职场文书