跳转到主要内容

regpath - pathlib和winreg

项目描述

依赖项

  • Python 3.4, 3.5

  • pathlib (Python 3.4的内置库)

安装

pip install regpath

示例

导入

>>> from regpath import RegistryPath

创建对象

>>> p = RegistryPath('HKCU')

访问PurePath兼容属性

>>> p
RegistryPath('HKCU')
>>> print(p)
HKCU
>>> p.drive, p.root, p.parts
('HKCU', '', ('HKCU',))

列出键

>>> list(p.iterdir())
[RegistryPath('HKCU/AppEvents'), RegistryPath('HKCU/AppXBackupContentType'), RegistryPath('HKCU/Console'),
 RegistryPath('HKCU/Control Panel'), RegistryPath('HKCU/Environment'), RegistryPath('HKCU/EUDC'),
 RegistryPath('HKCU/Keyboard Layout'), RegistryPath('HKCU/Network'), RegistryPath('HKCU/Printers'),
 RegistryPath('HKCU/Software'), RegistryPath('HKCU/System'), RegistryPath('HKCU/Volatile Environment')]

连接路径

>>> p = p / 'Environment'
>>> p
RegistryPath('HKCU/Environment')
>>> print(p)
HKCU\Environment
>>> p.drive, p.root, p.parts
('HKCU', '\\', ('HKCU', 'Environment'))

列出值

>>> list(p)
['TEMP', 'TMP']
>>> p['Temp']
'%USERPROFILE%\\AppData\\Local\\Temp'

然后

>>> p = RegistryPath(r'HKCU\Software\{d017c5cb-d6a6-453e-b41a-f3dc270628c0}\subkey')

>>> p.exists()
False
>>> p.mkdir(parents=True)
>>> p.exists()
True

>>> list(p)
[]
>>> p[''] = 'This is unnamed value.'
>>> list(p)
['']
>>> p['']
'This is unnamed value.'
>>> p['number'] = 0x12345678
>>> p['number']
305419896
>>> list(p)
['', 'number']
>>> del p['number']
>>> list(p)
['']
>>> del p['']
>>> list(p)
[]

>>> p['msg'] = 'hello, world'
>>> p.parent.rmdir()
Traceback (most recent call last):
...
PermissionError: [WinError 5] Access is denied.

>>> p.parent.rmtree()
>>> p.parent.exists()
False
>>> p.exists()
False
>>> list(p)
Traceback (most recent call last):
...
OSError: [WinError 1018] Illegal operation attempted on a Registry key which has been marked for deletion.

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

regpath-0.1.0.zip (9.5 kB 查看哈希值)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面