我正在嘗試讀取文件並生成所述文件的哈希。大多數情況下,這一切都很順利。但是,有幾個文件我無法處理。例如:無法使用win32 dir命令和Python子進程查看文件
file("c:\\windows\\system32\\nvvsvc.exe")
產生錯誤:IOError: [Errno 2] No such file or directory: 'c:\\windows\\system32\\nvvsvc.exe
類似地,命令:
subprocess.check_output(r"dir c:\windows\system32\nvvsvc.exe", shell = True)
產生錯誤:
File Not Found
Traceback (most recent call last):
File "< stdin >", line 1, in < module >
File "C:\Python27\lib\subprocess.py", line 544, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command 'dir c:\windows\system32\nvvsvc.exe' returned non-zero exit status 1
我嘗試了許多變體,包括試圖甚至讓cacls.exe承認那裏有一個文件。但是,當我退出Python實例(exit())並執行dir c:\windows\system32\nvvsvc.exe
時,它返回那裏確實有一個文件。
一個類似的測試使用calc.exe,而不是讓我可以查看它,哈希它在python裏面都很好。
我正在運行Python 2.7。我試圖用管理權限(以命令提示符的管理員身份運行)啓動python,但這不會改變任何內容。從python內部運行到文件系統基本假裝該文件不存在python時,似乎有一些特權改變。
作爲參考,有問題的文件的所有者(還有其他類似的)是系統,並且文件上的cacls允許從用戶,管理員和系統讀取它。
聽起來像一個權限問題。你是從[提升提示](http://windows.microsoft.com/en-US/windows-vista/Command-Prompt-frequently-asked-questions)運行的嗎? – 2012-04-09 04:58:30