我在Python Debugger中理解奇怪的文件锁定行为时遇到了问题。
我有一个2TB图像文件,我的脚本读取。一切都很完美,直到我想用不同的十六进制编辑器读取相同的文件。如果在我启动脚本之前在十六进制编辑器中打开文件,一切都很好。如果我在断点暂停脚本期间尝试打开文件,我的系统几乎挂起并变得非常慢。我通常可以从终端杀死Pyhon和hex编辑器,但速度非常慢,最多需要10分钟。
同样的问题出现在我停止脚本甚至广泛杀死所有Python实例之后。此映像所在的磁盘仍处于锁定状态,无法卸载它(仅使用diskutil force命令),如果我尝试在其他任何位置打开该文件,系统将挂起。
此外,我无法一个接一个地启动脚本,下一个脚本停止工作并挂起我的系统。
我必须等待10分钟才能再次使用该文件。
我试图找到使用“sudo lsof + D”命令锁定文件的进程,但它没有列出任何内容。
以下是一些更多细节: - 我的系统是Mac Os X 10.9。 Python是3.4。我使用Eclipse和Pydev来开发脚本。 - 我使用open('image.dmg',mode ='rb')命令在python中打开文件,用close()关闭它。 - 该文件是外部ExFat格式化驱动器上的2TB磁盘映像。其他文件没有这样的问题。文件在Finder设置中被写保护。
任何人都可以指导我找到这个问题的根源吗?
答案 0 :(得分:0)
我从未使用Mac OS,但我可以想象:
我认为你应该试着找出如何在Mac OS上使用python打开文件(如果有某种锁)你应该注意这个大文件永远不会在内存中完整存储(有不同的方法如何以块的形式读取大文件。
问候Kuishi
PS:我为我的英语道歉。这不是我的母语。