I think what you are looking for is
chntpw (it's the same as mentioned in Ben's question, btw). It comes as package (Ubuntu
sudo apt-get install chntpw) with modern distros and allows listing or editing the registry, given the hive file of a Windows installation. Hive files are
ntuser.dat in the profile directories of user as well as the files under
%SystemRoot%\system32\config such as
man chntpw page:
-e Registry editor with limited capabilities.
Caution: keep in mind that the format isn't officially documented by Microsoft and therefore any third-party editing tools could potentially damage the hives they load and manipulate. Take a backup!
As for applying a
.reg file I don't think you'll get around parsing it yourself. It is basically just an INI/INF file with a special first line and sections named after the keys and values that have been escaped according to the type of the value.
@ is a special value name for the default key. The rest is self-evident from looking at the file.
Python comes with built-in capabilities to parse INI files, so it provides a good starting point.