2017-04-13 61 views
0

我收到如下所示的錯誤。由於空間的原因,它看起來像一個路徑問題。Windows文件路徑獲取WindowsError的路徑中的空白:[Error 2]

>>> from _winreg import * 
>>> aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE) 
>>> print aReg 
<PyHKEY at 03216070 (000001C8)> 

>>> hKey = OpenKey(aReg, r"SOFTWARE\\Microsoft\\Windows\\Windows Error Reporting\\LocalDumps") 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
WindowsError: [Error 2] The system cannot find the file specified 

它正在正確地啓動到「Windows」。

>>> hKey = OpenKey(aReg, r"SOFTWARE\\Microsoft\\Windows\\") 
>>> print hKey 
<PyHKEY at 03216050 (000001A0)> 
+1

不要在原始字符串中反斜槓。您不能在單個反斜槓上結束原始字符串。 – eryksun

+0

如果您使用winreg.exe或reg.exe確認路徑存在,那麼您可能使用的是32位Python。嘗試設置訪問以明確打開64位密鑰:'hKey = OpenKey(HKEY_LOCAL_MACHINE,r「SOFTWARE \ Microsoft \ Windows \ Windows Error Reporting \ LocalDumps」,0,KEY_READ | KEY_WOW64_64KEY)''。 – eryksun

+1

[爲什麼Python中的單個反斜槓原始字符串會導致語法錯誤?](http://stackoverflow.com/questions/30283082/why-does-the-single-backslash-raw-string-in-python -cause-A-語法錯誤) –

回答

1

不要同時使用原始字符串和轉義反斜槓。他們是表達同一事物的兩種替代方法:"a\\b == r"a\b"。所以,要麼

r'SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps' 

'SOFTWARE\\Microsoft\\Windows\\Windows Error Reporting\\LocalDumps' 

在我的機器這個工作沒有錯誤:

from _winreg import * 
aReg = ConnectRegistry(None, HKEY_LOCAL_MACHINE) 
hKey = OpenKey(aReg, r'SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps') 

,但我不得不添加第一關鍵LocalDumps,因爲它不存在。