将python安装信息加入注册表的示例

 更新时间:2019年11月20日 09:00:03   作者:潜水的飞鱼baby  
今天小编就为大家分享一篇将python安装信息加入注册表的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

背景

重装系统,发现之前装在E盘的python可以直接使用,就只是将python的安装目录加入到环境变量中,也一直没有管它,今天跟天软交互的时候发现一直不成功,猜测可能是没有注册表信息。

从网上找的一段代码,直接复制运行即可,留存备查。

代码

py3.5.2

import sys

from winreg import *

# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix

regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
  installpath, installpath, installpath
)

def RegisterPy():
  try:
    reg = OpenKey(HKEY_CURRENT_USER, regpath)
  except EnvironmentError as e:
    try:
      reg = CreateKey(HKEY_CURRENT_USER, regpath)
      SetValue(reg, installkey, REG_SZ, installpath)
      SetValue(reg, pythonkey, REG_SZ, pythonpath)
      CloseKey(reg)
    except:
      print("*** Unable to register!")
      return
    print("--- Python", version, "is now registered!")
    return
  if (QueryValue(reg, installkey) == installpath and
    QueryValue(reg, pythonkey) == pythonpath):
    CloseKey(reg)
    print("=== Python", version, "is already registered!")
    return
  CloseKey(reg)
  print("*** Unable to register!")
  print("*** You probably have another Python installation!")

if __name__ == "__main__":
  RegisterPy()

py2.*版本

'''
解决注册问题,pywin32安装存在问题
'''

import sys

from _winreg import *

# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix

regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
  installpath, installpath, installpath
)

def RegisterPy():
  try:
    reg = OpenKey(HKEY_CURRENT_USER, regpath)
  except EnvironmentError as e:
    try:
      reg = CreateKey(HKEY_CURRENT_USER, regpath)
      SetValue(reg, installkey, REG_SZ, installpath)
      SetValue(reg, pythonkey, REG_SZ, pythonpath)
      CloseKey(reg)
    except:
      print "*** Unable to register!"
      return
    print "--- Python", version, "is now registered!"
    return
  if (QueryValue(reg, installkey) == installpath and
    QueryValue(reg, pythonkey) == pythonpath):
    CloseKey(reg)
    print "=== Python", version, "is already registered!"
    return
  CloseKey(reg)
  print "*** Unable to register!"
  print "*** You probably have another Python installation!"

if __name__ == "__main__":
  RegisterPy()

以上这篇将python安装信息加入注册表的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python脚本文件外部传递参数的处理方法

    Python脚本文件外部传递参数的处理方法

    Python 自带的接收外部参数的模块,用好以后也是非常的猴赛雷。文章通过一个MySQL 自动化部署脚本,需要指定的参数有三个,我们均可以使用 --参数名 方式来指定,会非常方便,今天介绍的就是 Python 外部指定参数的几种方法,感兴趣的朋友一起看看吧
    2021-05-05
  • Python2.x中文乱码问题解决方法

    Python2.x中文乱码问题解决方法

    这篇文章主要介绍了Python2.x中文乱码问题解决方法,本文解释问题原因、给出了处理办法并讲解了编码解码的一些知识,需要的朋友可以参考下
    2015-06-06
  • Python 在 VSCode 中使用 IPython Kernel 的方法详解

    Python 在 VSCode 中使用 IPython Kernel 的方法详解

    这篇文章主要介绍了Python 在 VSCode 中使用 IPython Kernel 的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Python使用Pickle库实现读写序列操作示例

    Python使用Pickle库实现读写序列操作示例

    这篇文章主要介绍了Python使用Pickle库实现读写序列操作,结合实例形式分析了pickle模块的功能、常用函数以及序列化与反序列化相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • python django使用haystack:全文检索的框架(实例讲解)

    python django使用haystack:全文检索的框架(实例讲解)

    下面小编就为大家带来一篇python django使用haystack:全文检索的框架(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • OpenCV实现图像平滑处理的方法汇总

    OpenCV实现图像平滑处理的方法汇总

    这篇文章为大家详细介绍了在图像上面进行了图像均值滤波、方框滤波 、高斯滤波、中值滤波、双边滤波、2D卷积等具体操作的方法,需要的可以参考一下
    2023-02-02
  • python中的字符串切割 maxsplit

    python中的字符串切割 maxsplit

    这篇文章主要介绍了python中的字符串切割 maxsplit,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • opencv 图像礼帽和图像黑帽的实现

    opencv 图像礼帽和图像黑帽的实现

    这篇文章主要介绍了opencv 图像礼帽和图像黑帽的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • python使用PIL把透明背景图片转成白色背景的示例代码

    python使用PIL把透明背景图片转成白色背景的示例代码

    当我们在采集一些图片的时候,这些图片的背景经常是透明的,但是如何把透明背景转成白色背景呢,接下来就给大家解决这个问题,本文主要介绍了python使用PIL把透明背景图片转成白色背景,需要的朋友可以参考下
    2023-08-08
  • Python并发编程之IO模型

    Python并发编程之IO模型

    本文详细讲解了Python并发编程之IO模型,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论