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版的文曲星猜数字游戏代码
Sep 02 Python
Python通过递归遍历出集合中所有元素的方法
Feb 25 Python
Python中的Matplotlib模块入门教程
Apr 15 Python
Python中Django框架利用url来控制登录的方法
Jul 25 Python
详解Python验证码识别
Jan 25 Python
详解python的webrtc库实现语音端点检测
May 31 Python
Python中django学习心得
Dec 06 Python
Apache,wsgi,django 程序部署配置方法详解
Jul 01 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
Feb 24 Python
Autopep8的使用(python自动编排工具)
Mar 02 Python
解决pytorch 模型复制的一些问题
Mar 03 Python
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
Jun 13 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循环输出数据库内容的代码
2008/05/24 PHP
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
php array_map()函数实例用法
2021/03/03 PHP
jQuery的deferred对象使用详解
2011/08/20 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
Javascript之Date对象详解
2016/06/07 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
浅析Ajax语法
2016/12/05 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
美国在线印刷公司:PsPrint
2017/10/12 全球购物
struct与class的区别
2014/02/03 面试题
介绍一下Transact-SQL中SPACE函数的用法
2015/09/01 面试题
Ruby如何定义一个类
2012/10/08 面试题
开办化妆品公司创业计划书
2013/12/26 职场文书
好家长事迹材料
2014/01/23 职场文书
工程质量承诺书
2014/03/27 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
我的小天地教学反思
2014/04/30 职场文书
董事长助理岗位职责
2015/02/11 职场文书
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL
详解Go语言中Get/Post请求测试
2022/06/01 Golang