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 相关文章推荐
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
python中关于for循环的碎碎念
Jun 30 Python
python操作excel的方法
Aug 16 Python
Django ORM 自定义 char 类型字段解析
Aug 09 Python
Python namedtuple命名元组实现过程解析
Jan 08 Python
Python使用py2neo操作图数据库neo4j的方法详解
Jan 13 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
Python OpenCV读取中文路径图像的方法
Jul 02 Python
详解python tcp编程
Aug 24 Python
Python中使用Selenium环境安装的方法步骤
Feb 22 Python
python中的被动信息搜集
Apr 29 Python
关于python pygame游戏进行声音添加的技巧
Oct 24 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
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
使用js判断TextBox控件值改变然后出发事件
2014/03/07 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
Centos6.8下Node.js安装教程
2017/05/12 Javascript
vue router demo详解
2017/10/13 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
2018/04/19 jQuery
自定义vue组件发布到npm的方法
2018/05/09 Javascript
零基础之Node.js搭建API服务器的详解
2019/03/08 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
Python实现单词拼写检查
2015/04/25 Python
Python中的hypot()方法使用简介
2015/05/18 Python
python构建自定义回调函数详解
2017/06/20 Python
Python实现感知机(PLA)算法
2017/12/20 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
python中str内置函数用法总结
2020/12/27 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
英国电动工具购买网站:Anglia Tool Centre
2017/04/25 全球购物
个性化皮包、小袋、生活配件:Mon Purse
2019/03/26 全球购物
师范大学应届生求职信
2013/11/21 职场文书
财务工作者先进事迹材料
2014/01/17 职场文书
高中物理教学反思
2014/02/08 职场文书
《在山的那边》教学反思
2014/02/23 职场文书
文体活动总结范文
2014/05/05 职场文书
物业总经理助理岗位职责
2014/06/29 职场文书
交通事故案件代理词
2015/05/23 职场文书
Python基础之元编程知识总结
2021/05/23 Python
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server