0

我目前在使用 Python(和一些 Cython 模块)创建的软件时遇到了一个奇怪的错误。我在 Windows 64 位中运行它,但使用的是 32 位 Python。

该程序的一部分涉及下载大量数据(最多数 GB),然后继续处理数据。该软件已经相对稳定了一段时间,但我们刚刚引入了一个新的数据源,大大增加了下载的数据量。我相信这是错误开始发生的时候。一遍又一遍地运行完全相同的测试用例,我在看似随机的地方出现错误。这是我到目前为止看到的两条错误消息:

IOError:[Errno 13] 权限被拒绝:“[文件名]”

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

如果需要,我会提供更多信息。同样,我最近才在引入新数据源时看到此错误,因此我认为这与数据量有关。有人知道是什么原因造成的吗?

谢谢!

编辑:为澄清起见,我想知道这是否可能是 Windows/大文件的问题,因为它只为这个新的大数据量崩溃的事实对我来说似乎很可疑。

4

1 回答 1

0

由于错误消息表明它看起来可能正在锁定文件。使用进程监视器工具,您可以监视是否有任何其他进程同时尝试使用该文件。

如果不是这种情况,您需要添加更多关于您的问题的信息,如完整的错误消息和崩溃的代码部分。

进程监视器 v3.02

更新:

我认为解决方案是以独占模式打开文件,带锁..检查一下:

portalocker - 用于羊群式文件锁定的跨平台(posix/nt)API。

于 2012-06-29T13:23:32.820 回答