我想調試一個問題,其中用戶偶爾會鎖定他們試圖打開的文件。該代碼似乎具有正確的異常處理,但用戶仍在報告查看錯誤消息。我怎樣才能模擬一個鎖定的文件,以便我可以自己調試?我怎樣才能模擬一個「鎖定」文件(一個有寫鎖)
編輯:對於Windows。
我想調試一個問題,其中用戶偶爾會鎖定他們試圖打開的文件。該代碼似乎具有正確的異常處理,但用戶仍在報告查看錯誤消息。我怎樣才能模擬一個鎖定的文件,以便我可以自己調試?我怎樣才能模擬一個「鎖定」文件(一個有寫鎖)
編輯:對於Windows。
依賴,但在情況下,MS字鎖
如果你是,如果你的應用程序鎖定文件wonderig,它不RELASE鎖:
只是修改了一下你的aplication(創建testapp),從不關閉文件(並保持其運行過程中出現)
Word或Excel將是我的建議,所以upvote以及真正值得... :) – 2011-05-02 18:02:18
路易斯,感謝您的幫助。我會試試這個方法。 :) – Daisetsu 2011-05-16 18:13:47
我真的很喜歡這個。比使用大的MS-Software更容易鎖定我的文件 – 2016-09-14 07:46:54
我使用Windows API的LockFileEx函數在Python中編寫unittest。這對我來說很好(帶鎖定目標的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
在哪個操作系統是你想要做到這一點? – 2011-05-02 17:56:58
@Will,Windows。 – Daisetsu 2011-05-02 17:57:52
他們看到了什麼錯誤信息?你知道他們收到錯誤信息時是否鎖定了文件嗎? – 2011-05-02 18:02:32