Python 技术篇-用win32库实现读取、添加、修改注册表的值实例演示

简介: Python 技术篇-用win32库实现读取、添加、修改注册表的值实例演示

     

image.png

注册表编辑器里默认有这 5 个根目录,每个目录的说明如下:

image.png

# -*- coding: UTF8 -*-
# 日期:2020.12.15
# 作者:小蓝枣
import win32api
import win32con
# 读取注册表
reg = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, 'SOFTWARE\\Policies\\Google\\Update', 0, win32con.KEY_ALL_ACCESS)
def set_reg(reg, reg_name, reg_type, reg_value):
    """
     作用:设置注册表
     参数0:注册表
     参数1:设置项的名字
     参数2:设置项的类型
     参数3:设置项的值
    """
    win32api.RegSetValueEx(reg, reg_name, 0, reg_type, reg_value);
# 设置注册表
set_reg(reg, "UpdateDefault", win32con.REG_DWORD, 0)
set_reg(reg, "Python", win32con.REG_SZ, "小蓝枣")

修改完后刷新一下就生效了。

image.png

默认添加注册表项的话需要在指定路径下进行添加,如果原注册表里路径就是不全的,添加会报错,下面的方法可以实现在添加注册表前检测路径是否是完整的,不完整的话会自动进行补全。

因为用到了 traceback.format_exc(),所以使用时要提前导入下 traceback 库。

win32api.RegCreateKey(读取的注册表实体, "添加项的名字") 用来添加项。

def test_item(reg_path):
    """
     作用:注册表项补全功能
     参数:检查输入的项路径是否完整,不完整自动添加项将其补全
     返回:读取注册表后的实体
    """
    reg = ""
    try:
        reg = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, reg_path, 0, win32con.KEY_ALL_ACCESS)
    except Exception as e:
        if('系统找不到指定的文件。' in traceback.format_exc()):
            s = reg_path
            index = len(s) - s[::-1].index("\\");
            key = test_item(s[:index-1])
            win32api.RegCreateKey(key, s[index:])
            reg = win32api.RegOpenKey(key, s[index:], 0, win32con.KEY_ALL_ACCESS)
    return reg

喜欢的点个赞❤吧!

           

目录
相关文章
|
22天前
|
XML JSON 数据库
Python的标准库
Python的标准库
161 77
|
7天前
|
数据采集 存储 缓存
如何使用缓存技术提升Python爬虫效率
如何使用缓存技术提升Python爬虫效率
|
14天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
72 5
|
15天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
51 2
|
23天前
|
XML JSON 数据库
Python的标准库
Python的标准库
47 11
|
23天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
64 8
|
1月前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
35 4
|
29天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
28天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
16天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
102 80