我想通过 Python 脚本查找应用程序是否打开了文件。我知道有很多提议,但似乎没有一个完全符合我的要求。我已经尝试了很多解决方案。但仍然无法获得预期的行为。我想要的是当 python 脚本尝试打开由 pdf 阅读器打开的文件时引发异常。例如,如果我使用 pdf 阅读器打开一个文件,并尝试通过 Python 脚本打开/重命名它,它应该引发异常。我尝试了多段代码:
try:
myfile = open("myfile.csv", "r+") # or "a+", whatever you need
except IOError:
print "Could not open file! Please close Excel!"
with myfile:
do_stuff()
Run Code Online (Sandbox Code Playgroud)
在这个问题中,我测试了很多脚本,但没有一个完美运行。当我重命名 pdf 文件时,即使它打开,重命名也是接受者并在最后。
这让我想知道这是不可能的还是我做错了。
你是对的,对此没有很多(任何?)优雅的解决方案。这是我发现有效的跨平台方法(在大多数情况下)。
测试锁定文件是否存在。
您不会在 Win Exploder 中看到此内容,但如果您os.listdir()在文件目录上运行,您应该会看到一个~$myfile.xlsx锁定文件。命名约定是标准的(据我所知),因此您可以测试该文件是否存在;或者更好的是,进行正则表达式搜索。
与 Win 解决方案类似,查找锁定或交换文件,通常命名为~lock.myfile.xlsx#或 之类的名称.myfile.txt.swp。
系统管理员: 如果您认为合适,请随时编辑这篇文章。这些只是我一路上偶然发现的一些简单的发现。
希望这可以帮助 ...
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |