【发布时间】:2015-08-07 01:34:19
【问题描述】:
我已将 code 添加到 Python 包 (brian2) 中,该包在文件上设置了排他锁以防止出现竞争条件。但是,由于此代码包含对fcntl 的调用,因此它不适用于 Windows。有没有办法让我在不安装新软件包的情况下对 Windows 中的文件进行独占锁定,例如 pywin32? (我不想给brian2添加依赖。)
【问题讨论】:
-
你有模块
msvcrt吗? -
@cdarke 我没有,但你认为这仅仅是因为我在一台 unix 机器上吗?它是否仅在 Windows 机器上成为标准配置?
-
我不希望它出现在 UNIX 机器上 - 问题是关于 Windows 的,不是吗?我已经检查过了,它是 Windows 的 Python 标准库的一部分。不幸的是,很难生成可移植的文件锁定代码,因为操作是如此不同(请参阅我的帖子)。
-
@cdarke 感谢您的检查。我猜
fcntl没有附带 Windows 上的标准库? -
没错,
fcntl没有与 Windows 上的 Python 2 或 3 捆绑在一起。
标签: python locking pywin32 fcntl