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中find()方法的使用
May 18 Python
使用python实现rsa算法代码
Feb 17 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
Python设计模式之命令模式简单示例
Jan 10 Python
Python + selenium自动化环境搭建的完整步骤
May 19 Python
python正则表达式匹配[]中间为任意字符的实例
Dec 25 Python
Python单元和文档测试实例详解
Apr 11 Python
通过python改变图片特定区域的颜色详解
Jul 15 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
Nov 22 Python
python实现密码强度校验
Mar 18 Python
Python Map 函数的使用
Aug 28 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强制下载类型的实现代码
2011/04/21 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
thinkphp常见路径用法分析
2014/12/02 PHP
php发送与接收流文件的方法
2015/02/11 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
python实现教务管理系统
2018/03/12 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
解决yum对python依赖版本问题
2019/07/05 Python
python json.dumps() json.dump()的区别详解
2020/07/14 Python
Python爬取某平台短视频的方法
2021/02/08 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
区域销售经理岗位职责
2013/12/10 职场文书
团组织关系介绍信
2014/01/12 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书