20

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

编辑:对于 Windows。

4

4 回答 4

31

尝试这个:

( >&2 pause ) >> yourfile.txt

>>yourfile.txt追加模式打开

看到这个作为参考

于 2015-05-11T18:57:11.370 回答
7

取决于,但以防万一,
如果您想知道您的应用程序是否锁定文件并且它不释放锁定,则 MS 字锁定:
只需修改一点您的应用程序(创建一个 testapp)并且永远不要关闭文件(并保持它运行)

于 2011-05-02T18:01:29.727 回答
0

我使用 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

于 2016-09-14T07:56:22.350 回答
0

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

type yourfile.txt | more

在“几页”的很长文本中插入yourfile.txt并希望通过管道| more批量插入。但是文件似乎被锁定了,为什么?

于 2019-12-10T11:27:21.660 回答