Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chrono-meter/regpath
regpath - pathlib and winreg
https://github.com/chrono-meter/regpath
Last synced: about 1 month ago
JSON representation
regpath - pathlib and winreg
- Host: GitHub
- URL: https://github.com/chrono-meter/regpath
- Owner: chrono-meter
- Created: 2015-12-22T04:24:05.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-22T09:35:58.000Z (about 9 years ago)
- Last Synced: 2024-08-09T21:09:55.948Z (5 months ago)
- Language: Python
- Homepage: https://pypi.python.org/pypi/regpath
- Size: 6.84 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
README
regpath - pathlib and winreg
============================Dependencies
------------* Python 3.4, 3.5
* `pathlib `_ (Standard library in Python 3.4)Install
-------``pip install regpath``
Examples
--------Import::
>>> from regpath import URL
Create object::
>>> p = RegistryPath('HKCU')
Access PurePath compaitble propertyes::
>>> p
RegistryPath('HKCU')
>>> print(p)
HKCU
>>> p.drive, p.root, p.parts
('HKCU', '', ('HKCU',))List keys::
>>> 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')]Join path::
>>> p = p / 'Environment'
>>> p
RegistryPath('HKCU/Environment')
>>> print(p)
HKCU\Environment
>>> p.drive, p.root, p.parts
('HKCU', '\\', ('HKCU', 'Environment'))List values::
>>> list(p)
['TEMP', 'TMP']
>>> p['Temp']
'%USERPROFILE%\\AppData\\Local\\Temp'Then::
>>> 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.