我开发了一个python脚本,我有一个设置窗口,可以选择安装软件的路径.当点击设置窗口的OK按钮时,我想将所有选定的路径写入注册表并阅读设置窗口再次打开时相同.我的代码如下所示.
def OnOk(self, event):
data1=self.field1.GetValue() #path selected in setting window
aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE)
keyVal=OpenKey(aReg,r"SOFTWARE\my path to\Registry", 0,KEY_WRITE)
try:
SetValueEx(keyVal,"Log file",0,REG_SZ,data1)
except EnvironmentError:
pass
CloseKey(keyVal)
CloseKey(aReg)
Run Code Online (Sandbox Code Playgroud)
我收到如下错误:
Traceback (most recent call last):
File "D:\PROJECT\project.py", line 305, in OnOk
keyVal=OpenKey(aReg,r"SOFTWARE\my path to\Registry", 0,KEY_WRITE)
WindowsError: [Error 5] Access is denied
Run Code Online (Sandbox Code Playgroud)
从注册表中读取,保存的注册表必须显示在设置窗口中.我尝试使用下面的代码.虽然它的工作但不满意我的编程方式.帮我解决更好的解决方案
key = OpenKey(HKEY_CURRENT_USER, r'Software\my path to\Registry', 0, KEY_READ)
for i in range(4):
try:
n,v,t = EnumValue(key,i)
if i==0:
self.field2.SetValue(v)
elif i==1:
self.field3.SetValue(v)
elif i==2:
self.field4.SetValue(v)
elif i==3:
self.field1.SetValue(v)
except EnvironmentError:
pass
CloseKey(key)
Run Code Online (Sandbox Code Playgroud) 我在 Windows 7 上使用 Python 3.5.2 32 位创建的包出现问题。
我通常使用bdist_wininstsetuptools 选项在 Windows 上部署 Python 包。这样,我的同事只需启动 Windows 安装程序 exe 即可轻松更新软件包。但是,自从我更改为 Python 3.5.2 后,在尝试安装包时出现以下错误:
Python version -32 required, which was not found in the registry
Run Code Online (Sandbox Code Playgroud)
对我来说,安装程序似乎正在寻找名为“-32”的 Python 版本,但它找不到。有人遇到过同样的问题或找到解决方案吗?
我查看了 inetrnet,但没有发现任何相关内容,所以我在这里问 - 是否可以使用 python 创建文件的快捷方式并将其放入我选择的特定目录中?例如,我在“C:”中有一个名为“EXAMPLE”的文件夹。我想自动创建谷歌浏览器的快捷方式并将其放在这个文件夹中。是否可以使用 python 来做到这一点(而不仅仅是我自己拖过去)?谢谢