如何模拟"locked"文件(具有写锁定的文件)



我正在尝试调试一个问题,用户偶尔会锁定他们试图打开的文件。代码似乎有正确的异常处理,但用户仍然报告看到错误消息。我如何模拟一个锁定的文件,以便我可以自己调试它?

try this:

( >&2 pause ) >> yourfile.txt

>>追加模式打开yourfile.txt

参考

视情况而定,但以防MS word锁定
如果你想知道你的应用程序是否锁了文件而不释放锁:
只需稍微修改一下您的应用程序(创建一个testapp),并且永远不要关闭文件(并保持它运行)

我使用来自Windows API的LockFileEx函数在Python中编写了一个单元测试。这对我来说工作得很好(shutil.copy()与锁定的目标失败)。

import win32con
import win32file
import pywintypes
p = "yourfile.txt"
f = file(p, "w")
hfile = win32file._get_osfhandle(f.fileno())
flags = win32con.LOCKFILE_EXCLUSIVE_LOCK | win32con.LOCKFILE_FAIL_IMMEDIATELY
win32file.LockFileEx(hfile, flags, 0, 0xffff0000, pywintypes.OVERLAPPED())

见:https://msdn.microsoft.com/en-us/library/windows/desktop/aa365203%28v=vs.85%29.aspx

我正在使用这个命令提示符

type yourfile.txt | more

yourfile.txt中插入一个很长的"few pages"文本,并希望通过| more管道批量插入。但是文件似乎被锁住了,有什么原因吗?

相关内容

  • 没有找到相关文章

最新更新