首页 > 解决方案 > Python脚本单实例不起作用

问题描述

我正在使用来自tendo 的这个文件来为脚本创建单个实例。使用 Python 2.7

main.py脚本中,我添加了这样的代码行:

sgl_ins = singleton.SingleInstance()
.. main.py logic code ...

它创建了 .lock 文件,但问题是当应用程序逻辑完成时它会抛出一个错误,更准确地说是当它到达singleton.py代码中的这一部分时

try:
           if sys.platform == 'win32':
               if hasattr(self, 'fd'):
                   os.close(self.fd)
            os.unlink(self.lockfile)

在我得到的控制台中

[错误 32] 进程无法访问该文件,因为它正被另一个进程使用:...

所以这很奇怪,因为它应该关闭已锁定的文件,但看起来当它试图关闭它时却无法做到。

没有其他应用程序或脚本实例同时运行。我将它运行到用户已授予所有权限的 Windows 环境中。

有什么建议或意见吗?

标签: pythonpython-2.7

解决方案


推荐阅读