近期工作上必须去判断虚拟服务器上的某一Excel文件是不是被打开,假如被别人打开 ,则等候 ,假如没有人打开应用,则去填好数据信息进Excel文件 。

刚开始想的非常简单,和别的語言一样 ,例如C#,打开文件,假如出错表明被占有 ,結果发觉,Excel文件被别人打开的状况下,python里边用应写'w'的方法打开文件 ,事实上并沒有出错,实行进行也没一切不正确,仅仅最终看Excel文件里边 ,发觉具体要载入的物品并没被载入 。

随后在网络上找了一些方式 ,例如用openpyxl,pywin32这些 ,发觉都没法做到真实去判断Excel文件是不是被别人打开了。

之后想起一个解决方案:判断是不是有“~$”开始的同名的文件在平级文件目录下存有:例如test.xlsx被打开后会存有~$test.xlsx文件 ,假如没被打开则沒有该文件。

Excel文件(从总体上应该是MS office文件)每一次被打开后实际上是会建立一个掩藏的"~$"开始的系统软件隐藏文件,例如打开test.xlsx后平级文件目录下实际上是会出现~$test.xlsx文件:

由于~$test.xlsx是系统软件隐藏文件,假如要见到得话 ,必须显示信息全部系统软件隐藏文件信息内容,方式 以下:

  1. 点一下任一文件夹左上方的“文件 ”
  2. 点一下“选择项 ”打开“文件夹选择项”
  3. 点一下“查询”内容,启用“显示信息掩藏的文件 、文件夹和控制器 ” ,随后除掉“掩藏受维护的电脑操作系统文件(强烈推荐)”的启用

那样就可以见到~$test.xlsx这一隐藏文件了 。

知道这一方式 后,要去判断Excel文件是不是被打开就非常容易了,只必须判断~$test.xlsx文件是不是存有就可以 ,假如存有则觉得test.xlsx文件被别人打开,等候关掉,不然则觉得该文件没有人打开 ,立即编写就可以。

针对当地和虚拟服务器上的Excel文件否是被打开都能够用该方式 。

文章来源于网络,如有侵权请联系站长QQ61910465删除
本文版权归趣营销www.SEOgUrublog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ卍61910465