我最近遇到了一个奇怪的bug,一个用Python (和一些Cython模块)创建的软件。我在64位的Windows上运行它,但使用的是32位的Python。
该程序的一部分涉及下载大量数据(最多几to ),然后继续处理数据。该软件已经相对稳定了一段时间,但我们刚刚引入了一个新的数据源,大大增加了下载的数据量。我相信这就是bug开始发生的时候。一次又一次地运行完全相同的测试用例,我在似乎是随机的地方得到了错误。以下是我到目前为止看到的两条错误消息:
IOError:错误13权限被拒绝:“文件名”
和
WindowsError:错误32该进程无法访问该文件,因为它正被另一个进程使用:"filename“
如果需要的话,我会给你更多的信息。同样,我只是在最近引入了一个新的数据源时才看到这个错误,所以我认为它与数据量有关。有谁知道这是什么原因造成的吗?
谢谢!
编辑:为了澄清,我想知道这是否可能是Windows/大文件的问题,因为它只在这个新的大数据量时崩溃的事实对我来说似乎很可疑。
发布于 2012-06-29 21:23:33
如错误消息所示,看起来可能有什么东西锁定了该文件。使用进程监视器工具,您可以监视是否有任何其他进程正在尝试同时使用该文件。
如果不是这样,你需要添加更多关于你的问题的信息,如完整的错误消息和代码崩溃的部分。
Process Monitor v3.02
更新:
我认为解决方案是以独占模式打开文件,并使用锁。看看这是什么:
portalocker - Cross-platform (posix/nt) API for flock-style file locking.
https://stackoverflow.com/questions/11262402
复制相似问题