Python (2.7)을 사용하여 특정 레지스트리 값이 존재하는지 확인하고, 작성하지 않았 으면합니다.Python r 인용구가있는 Windows 레지스트리 키 앞에
from _winreg import *
key_to_write = r"C:\Python27\Python.exe"
exists = True
aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE)
try:
aKey = OpenKey(aReg, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_WRITE)
except WindowsError:
exists = False
try:
if not exists:
SetValueEx(aKey,'Python',0, REG_SZ, key_to_write)
except EnvironmentError:
print "Encountered problems writing into the Registry..."
CloseKey(aKey)
CloseKey(aReg)
하지만, 내 실제 Windows 레지스트리에 데이터 값이 (처음에 R 포함)로 설정 :
는 드디어 this code를 사용하여 작동하도록 얻을 수 있었다r"C:\Python27\Python.exe"
다른 Windows 레지스트리 데이터 값에는 앞의 r이 표시되지 않지만 위의 예에서 발견 한 Windows를 처리하는 모든 Python 인스턴스는이 값 앞에 r이 붙습니다.
- 이 r은 의미가 있습니까?
- 이걸 보관해야합니까?
- 위와 같이 레지스트리 항목에도 r이 표시됩니까?
[편집]
너희들 쓰기이었다. 내 전체 코드에서 잘못된 key_to_write 변수를 저장 한 것으로 나타났습니다. 다음과 같이 내가 그것을 변경하는 경우
key_to_write = 'r"' + path + '"'
그것은 잘 작동 : 내가 한 질문을 위해서
key_to_write = r'"' + path + '"'
가, 내가 제대로 변수를 정의했다고 생각, 그래서 나는 많은 내 코드를 단축 그 점을 염두에두고 코딩합니다. 내가 처음에 잘못 정의 했어!
감사합니다. 그러나 여전히 레지스트리에 쓰여진 데이터에'r' 접두어가 왜 나타나는지 잘 모르겠습니다. – TechDude
Q 코드는 그렇게하지 않습니다. 나는 당신이 우연히 수동으로했을 것이라고 생각합니다. –
네, 맞습니다. 이에 따라 내 질문을 업데이트했습니다. – TechDude