weixin_53903225 2023-06-07 21:32 采纳率: 0%
浏览 75
已结题

Python操作注册表

img


用winreg操作注册表,为什么同样代码前面可以正常运行,后面再次写入键和值,就说系统找不到指定文件

  • 写回答

5条回答 默认 最新

  • threenewbee 2023-06-07 22:00
    关注

    打开注册表看下这个键是否存在,要管理员权限
    建议是用win32命令reg add之类的去操作,不要用代码,兼容性好

    评论
  • 四海一叶秋 2023-06-07 23:33
    关注

    字符串前加了r,斜杠就不要用双斜杠了。

    评论
  • 全栈若城 Python领域新星创作者 2023-06-08 10:37
    关注

    报错信息表示 : 因为打开的注册表键(key)不存在。
    类似于 注册表中某些设置被更改的原因导致这个问题也可能存在 ,
    也可能是你没有拥有足够的权限.
    你可以先 使用winreg.QueryValueEx函数检查一下键(key)是否存在,检查winreg.HKEY_CLASSES_ROOT下是否有"\projectsja"的子目录。如果没有,可以尝试使用winreg.CreateKeyEx创建一个。
    代码案例如下, 根据你的需求修改 :

    
    import winreg
    key_path = r"*\\projectsja"
    try:
        # 打开键
        key = winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, key_path, 0, winreg.KEY_WRITE)
        # 写入值
        value = "test"
        winreg.SetValueEx(key, "value_name", 0, winreg.REG_SZ, value)
        # 关闭键
        winreg.CloseKey(key)
        print("键和值已成功写入注册表")
    except FileNotFoundError:
        print("找不到指定的文件:", key_path)
    except PermissionError:
        print("权限不足,请以管理员身份运行程序")
    
    评论
  • Android西红柿 2023-06-08 13:48
    关注

    以管理员身份运行代码,并需要获取注册表访问权限,你这个key不存在的话,你手动先创建一个试试,然后用代码更新

    import winreg  
    winreg.SetDefaultKey(winreg.HKEY_CURRENT_USER)
    
    
    评论
  • MR_Bone 2023-06-07 22:05
    关注

    根据提供的问题描述,我无法直接查看图片中的代码内容。但是,根据您的描述,您可能遇到了以下情况:

    1. 注册表项不存在:在第一次运行代码时,您成功地创建了指定的注册表项、键和值。但是,当您再次运行相同的代码时,系统发现该注册表项已经存在,因此会报告"系统找不到指定文件"的错误。
    2. 权限问题:在尝试写入注册表时,您可能没有足够的权限进行操作。某些注册表项可能对普通用户有限制,因此需要以管理员权限运行代码才能成功写入。

    为解决这个问题,您可以尝试以下步骤:

    1. 在写入注册表之前,先检查该注册表项是否已经存在。如果存在,则跳过写入操作,避免重复操作导致的错误。
    2. 确保以管理员身份运行代码。右键单击代码文件,选择"以管理员身份运行"或使用管理员账户登录系统再运行代码。
    3. 检查代码中的路径和键名是否正确无误。确保使用的路径和键名与目标注册表项完全匹配。

    如果仍然遇到问题,请提供您的代码片段以及更详细的错误信息,以便我能够更准确地帮助您解决问题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月8日
  • 创建了问题 6月7日

悬赏问题

  • ¥15 利用加权最小二乘法求亚马逊各类商品的价格指标?怎么求?
  • ¥15 c++ word自动化,为什么可用接口是空的?
  • ¥15 Matlab计算100000*100000的矩阵运算问题:
  • ¥50 VB6.0如何识别粘连的不规则的数字图片验证码
  • ¥16 需要完整的这份订单所有的代码,可以加钱
  • ¥30 写一个带界面控制的机房电脑一键开机关机并且实时监控的软件
  • ¥15 Stata数据分析请教
  • ¥15 请教如何为VS2022搭建 Debug|win32的openCV环境?
  • ¥15 关于#c++#的问题:c++如何使用websocketpp实现websocket接口调用,求示例代码和相关资料
  • ¥15 51单片机的外部中断,按下按键后不能切换到另一个模式