最近工作中需要去判断远程服务器上的某个Excel文件是否被打开,如果被人打开,则等待,如果没人打开使用,则去填写数据进Excel文件。

开始想的很简单,和其他语言一样,比如C#,打开文件,如果报错说明被占用,结果发现,Excel文件被其他人打开的情况下,python里面用可写'w'的方式打开文件,实际上并没有报错,执行完成也没任何错误,只是最后看Excel文件里面,发现实际要写入的东西并没被写入。

然后在网上找了一些方法,比如用openpyxl,pywin32等等,发现都做不到真正去判断Excel文件是否被其他人打开了。

后来想到一个解决方法:判断是否有“~$”开头的同名文件在同级目录下存在:比如test.xlsx被打开后会存在~$test.xlsx文件,如果没被打开则没有该文件。

Excel文件(具体来说应该是MS office文件)每次被打开后其实是会创建一个隐藏的"~$"开头的系统隐藏文件,比如打开test.xlsx后同级目录下其实是会有~$test.xlsx文件:

因为~$test.xlsx是系统隐藏文件,如果要看到的话,需要显示所有系统隐藏文件信息,方法如下:点击任一文件夹左上角的“文件”

点击“选项”打开“文件夹选项”

点击“查看”条目,勾选“显示隐藏的文件、文件夹和驱动器”,然后去掉“隐藏受保护的操作系统文件(推荐)”的勾选

这样就可以看到~$test.xlsx这个隐藏文件了。

知道了这个方法后,要去判断Excel文件是否被打开就很容易了,只需要判断~$test.xlsx文件是否存在即可,如果存在则认为test.xlsx文件被人打开,等待关闭,否则则认为该文件没人打开,直接编辑即可。

对于本地和远程服务器上的Excel文件否是被打开都可以用该方法。

python检测excel是否打开_Python: 如何判断远程服务器上Excel文件是否被人打开相关推荐

  1. python检测excel是否打开_Python判断远程服务器上Excel文件是否被人打开的方法_学领未来...

    最近工作中需要去判断远程服务器上的某个Excel文件是否被打开,如果被人打开,则等待,如果没人打开使用,则去填写数据进Excel文件. 开始想的很简单,和其他语言一样,比如C#,打开文件,如果报错说明 ...

  2. 服务器上文件一直被打开吗,Python: 如何判断远程服务器上Excel文件是否被人打开...

    最近工作中需要去判断远程服务器上的某个Excel文件是否被打开,如果被人打开,则等待,如果没人打开使用,则去填写数据进Excel文件. 开始想的很简单,和其他语言一样,比如C#,打开文件,如果报错说明 ...

  3. python运维实战--跨堡垒机连接二级服务器上传文件

    python运维实战--跨堡垒机连接二级服务器上传文件 paramiko的有关概念和操作 Welcome to Paramiko! - Paramiko documentation 这个python脚 ...

  4. uni-app 和H5 下载服务器上的文件到本地并打开

    今天用户提了一个需求,需要在APP的我的页面新增一个查看用户手册的功能,在不引入插件的情况下使用如下代码实现: 代码: //下载用户手册到本地 function downloadFile(){ plu ...

  5. python调用scp上传目录_Python调用scp向服务器上传文件示例

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  6. iis服务器上的文件能用浏览器打开,保存好的asp文件在IE浏览器里打不开,在IIS服务器下也打不开,怎么办?...

    满意答案 媄呔頹廢 2013.11.17 采纳率:43%    等级:12 已帮助:12411人 楼主: 一.如果能排除硬件上的原因(内存条不兼容,更换内存.显卡驱动是否正确按装或者是否被恶意覆盖否? ...

  7. python连接linux服务器读取txt文件_python 读取Linux服务器上的文件方法

    使用Python语句,读取Linux远端服务器上的文件打印到控制台的代码实现: 下载包:paramiko import paramiko #服务器信息,主机名(IP地址).端口号.用户名及密码 hos ...

  8. 打开ftp服务器上的文件夹时发生错误 操作超时,打开FTP服务器上的文件夹时发生错误。请检测是否有权访问该文件夹...

    只要能解决,分数不是问事 我用IE上输入ftp://....打开后提示 打开FTP服务器上的文件夹时发生错误.请检查是否有权限访问该文件夹. 详细信息: 200 Type ste to A. 227 ...

  9. 调试远程服务器上的代码时报错:调试设置中的Python路径无效

    错误 当在本地调试远程服务器上的代码时,报错: 调试设置中的Python路径无效 踩坑 根据提示去launch.json文件里 以为是"python": "${comma ...

  10. 打开ftp服务器上的文件夹时发生错误 请检查是否,以及220 227 报错

    2019独角兽企业重金招聘Python工程师标准>>> 在没有进行设置过程中,进行连接到ftp的服务器中之后,会提示的是错误的信息为"打开ftp服务器上的文件夹时发生错误 ...

最新文章

  1. 超越卷积、自注意力机制:强大的神经网络新算子involution
  2. string to xml java_Java String to XML - Parse String to XML DOM Example - 入门小站-rumenz.com
  3. 麻省理工学院计算机博士年薪,麻省理工学院计算机博士录取要求
  4. 减少训练成本的一个方法
  5. Qt修炼手册11_多线程编程和QThread类
  6. FragmentActivity TopFragment
  7. 代理模式【介绍、静态代理、动态代理、入门、应用】
  8. webpack --- 在项目中使用React
  9. 50条超精辟的经典语录:哗众,可以取宠,也可以失宠!
  10. 【ArcGIS遇上Python】从入门到精通系列之第二章:ArcGIS Python基本语法基础速递
  11. Ubuntu18.04安装opencv出现的一系列问题解决方法(持续更新~)
  12. 做Meta分析要用哪些软件?Meta分析软件盘点,含软件安装包!
  13. ArcGIS Pro中的拓扑检查
  14. html中黄色的代码是什么,HTML黄色欧美形式创意展示网页模板代码
  15. 亲情友情爱情:《悲惨世界》第四部《卜吕梅街的柔情和圣德尼街的史诗》/人性:《悲惨世界》第五部《冉阿让》摘录...
  16. 写给女儿高中编程课老师的一封信
  17. noip普及组2007 守望者的逃离
  18. 使用Centreon监控HP惠普服务器硬件状态
  19. 七牛云对象存储绑定个人域名
  20. asterisk 参数

热门文章

  1. JDBC链接MySQL数据库
  2. ScrollView和listview的冲突问题,关于宽度,和滑动
  3. 【JAVA】数字相加
  4. MAC自带的lnmp
  5. 情侣在公交车上接吻遭乘客指责
  6. 知识图谱中的结构信息建模
  7. Pyinstaller使用教程
  8. 智能优化算法:群居蜘蛛优化算法-附代码
  9. leetcode刷题日记- 超级次方
  10. 【MATLAB】 分形插值