获取WindowsError的Windows文件路径路径中的空格:[错误2]

时间:2017-04-13 15:50:38

标签: python windows python-2.x winreg

我收到如下所示的错误。由于空间,它看起来像一个路径问题。

>>> 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 个答案:

答案 0 :(得分: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,因为它不存在。