使用python操作注册表的方法最近学习了一下,现在做一下笔记,由于对Python语言的使用还不是很熟练,所以写不出高大上的结构,但是解决问题搓搓有余了。

说道注册表顺便也说一说环境变量的修改(放下下一节讲),里面有许多相似的地方,我觉得放在一起说会比较合适。

操作注册表

操作注册表主要引入winreg包,winreg包是python3自带的包,python2的名字和python3有区别_winreg,在这里只关注python3

key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"路径的名字")

OpenKeyEx打开一个注册表,路径不写就是根目录,给个图大家就明白了

点击确定打开windows注册表

上面写的winreg.HKEY_CLASSES_ROOT,就是上图中其中之一,想要打开哪个就写哪个的名字 •新建一个分支

newKey = winreg.CreateKey(key,"文件名")

•获取当前名称对应的值

winreg.QueryValueEx(key, '名称')

例如:winreg.QueryValueEx(key, 'PATH')

•设置当前目录下的值

winreg.SetValueEx(key,"名称",0,winreg.REG_EXPAND_SZ, "值")

例子:

key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"")

#创建新的键

newKey = winreg.CreateKey(key,"aTest")

#给新创建的键添加键值

winreg.SetValueEx(newKey,"a1",0,winreg.REG_EXPAND_SZ,"aaa")

winreg.SetValueEx(newKey,"b1","star",1, "bbb")

#创建新的子键

key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"aTest")

newKey = winreg.CreateKey(key,"DefaultIcon")

winreg.SetValueEx(newKey,"",0,winreg.REG_EXPAND_SZ, "path ,1")

newKey = winreg.CreateKey(key,"shell")

key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"aTest\shell")

newKey = winreg.CreateKey(key,"open")

key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"aTest\shell\open")

newKey = winreg.CreateKey(key,"command")

winreg.SetValueEx(newKey,"url",0,winreg.REG_EXPAND_SZ, "\"path\" \"%1\"")

以上例子可以使用Url protocol,使用浏览器启动本地exe。直接将上文中的path换成本地exe的路径就可以了。

Python 操作注册表

通过Python的内置模块winreg这里主要给出一些winreg的Demo代码

Python2:import _winreg、Python3:import winreg

#!python37

# -*- coding: utf-8 -*-

# coding:utf-8

import winreg

def obtain():

# 获取该键的所有键值

key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r"Software\\Inspiry\\BasePay\\Address")

# 获取该键的所有键值,遍历枚举

try:

i = 0

while 1:

# EnumKey用来枚举子键,EnumValue方法用来枚举键值,

name, value, type1 = winreg.EnumValue(key, i)

# print(repr(name),value)

return value

i +=1

except WindowsError:

print('error')

if __name__ == '__main__':

obtain()

好了这篇文章就介绍到这了,希望以后多多支持我们。

时间: 2020-02-02

怎么删除python3.7注册表内容_python3操作注册表的方法(Url protocol)相关推荐

  1. eltable刷新整个表格方法_多个子表内容合并到总表,不用每次复制粘贴,全自动刷新...

    在我们工作中,经常会有多个表格分别录入数据,然后需要汇总到一块的情况 举一个例子,下面是模拟的数据,公司不同类目的3张销售表,分别是水果,3C,电器类目下的表格 我们需要汇总得到的结果是: 如果只是处 ...

  2. mysql表的级联操作_mysql表之间的关系及级联操作

    表之间的关系 foreign key 外键约束,用于指向另一个表的主键字段 # 创建表的时候添加外键 create table teacher( id int primary key auto_inc ...

  3. python3 如何读中文路径_Python3操作pdf文件之ReportLab

    一说到pdf文件,大家应该都很熟悉吧,特别是那些经常在网上搜索某本书pdf版的人.别装了,那些人当中应该就有你吧?--开玩笑的,知道你是一向只买正版纸质版的人. 买正版纸质的人?好像扯远了.好吧,言归 ...

  4. python3连接sql server数据库_Python3操作SQL Server数据库(实例讲解)

    1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了. 2.最基本的SQL查询语句 python是使用pymssql这个模 ...

  5. C#操作注册表全攻略

    相信每个人对注册表并不陌生,在运行里面输入"regedit"就可以打开注册表编辑器了.这东西对Windows系统来说可是比较重要的,也是病毒常常会光顾的地方,比如病毒和恶意软件常常 ...

  6. html中js添加或删除activex,JS:操作样式表2 :用JS实现添加和删除一个类名的功能(addClass()和removeClass())...

    var box = document.getElementById("box"); box.id = "pox"; 将id = "box", ...

  7. [原创]如何从数据库层面检测两表内容的一致性

    一般来说呢,如何检测两张表的内容是否一致,这样的需求大多在从机上体现,以保证数据一致性.方法无非有两个,第一呢就是从数据库着手,第二呢就是从应用程序端着手. 我这里罗列了些如何从数据库层面来解决此类问 ...

  8. mysql 复制表结构(包括索引等)、表内容

    =============================================== 2019/7/16_第1次修改                       ccb_warlock == ...

  9. 删除SQL表数据时存在约束的解决方法

    这几天在做项目时,清除库中的数据,但是各表之间都存在约束关系,无法使用 ' truncate table 表名 '语句进行操作,通过查询资料,找到了解决方法,当表之间存在约束关联时,想要执行trunc ...

最新文章

  1. jquery 常用方法 delegate() siblings() closest() indexOf() substring()
  2. html运用以及工具
  3. 论基于candence的组装清单做法
  4. php resque 计划任务,PHP-RESQUE - 实现重试
  5. 论文浅尝 | 基于表示学习的大规模知识库规则挖掘
  6. asp.net web submit链接页面_41. Web 安全之 target=quot;_blankquot; 触发钓鱼风险
  7. python基础课程第12章_流畅的python学习笔记-第12章
  8. 邓俊辉数据结构学习-8-2-B树
  9. ID3决策树预测的java实现
  10. SharePoint2010内容类型剖析(三)
  11. 常用排序算法:桶排序
  12. 海康sdk java_java调用海康sdk案例
  13. c语言知识点总结大全(史上最全)
  14. Android混淆使用详解
  15. 解决Elasticsearch集群 master_not_discovered_exception 异常
  16. 邮件服务器如何搭建?企业自己搭建邮件服务器的方法
  17. python生成Androd deviceid
  18. leetcode总结无止境系列之链表
  19. 薄膜温室贵不贵,一亩地温室大棚需要花多少钱?
  20. 1 根文件系统 简单来说,(根文件系统)

热门文章

  1. 悲情天才沃尔特·皮兹
  2. 安卓案例:标准化测试
  3. 大脑体操:三桶分水问题
  4. SciTE文本编辑器初体验
  5. Scala案例:词频统计
  6. 【BZOJ2149】拆迁队,分治+斜率优化DP
  7. 【codevs1368】【BZOJ1034】泡泡堂BNB,贪心思路
  8. Java中什么时候throws_何时在Java方法声明中使用throws?
  9. 调用另一个cpp的变量_Il2Cpp Internals: 托管调用栈
  10. tracepro杂散光分析例子_AES分析中的干扰效应及校正,你知道吗?