python - 遍历存储在列表中的注册表项
问题描述
我有一些 Windows 注册表项存储在文件中的 python 列表中。键存储为完整路径,我只想通过一次循环遍历列表一个元素来确保它们存在。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\\Shell
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\\Shell
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\\AppInit_DLLs
以上是我正在检查是否存在的键和我的keys.txt
文件的内容。
keysFile = 'keys.txt'
with open(keysFile) as f:
keys = f.readlines()
keys = [x.strip() for x in keys]
上面的代码用于打开带有路径的文件,并将每一行存储为列表的一个元素。我只是迷失了如何使用这些路径来检查它们是否存在。我已经看到winreg
被使用,但我不确定这是否适用于此,因为这些是完整路径。我将就如何应对这种情况采取任何指导。我对 python 和注册表都是新手,所以请耐心等待。太感谢了。
解决方案
我不知道用于处理注册表的 python 模块(尽管它们可能存在)。我个人会在使用这个维基百科页面时混合使用字符串格式和os
模块来解决这个问题。我认为它看起来像:
import os
for key in keys: # you made this list already
command = "Reg.exe QUERY {}".format(key) # apply string formatting to replace the {}
os.system(command) # call our command on the command line
可能有很多关于注册表脚本的知识,但是一旦您找到了您想要的命令,您只需将它们替换掉!希望这足以让您入门,欢迎来到 StackOverflow XD!
推荐阅读
- r - 从 RStudio 将多个文件上传到 Google Cloud
- php - filesize 必须大于 0 php write files aldough 代码已准备好防止错误
- javascript - 每次运行函数时如何将对象添加到数组中?
- xaml - 如何根据 Xamarin.Forms xaml 中的本地化语言显示选取器项目
- python - 熊猫打印 CSV 文件的问题
- ios - 获取iOS系统默认主题颜色的任何方式
- javascript - 在 QML 中使用 ParseServer 后端 JS 库
- azure-data-explorer - 当我们停止(暂停) Kusto 和 ADX 集群时,我们是否为存储付费?
- python - argpartition 表现出意外行为
- linux - standard_init_linux.go:207: exec 用户进程导致权限被拒绝