
Damit sind die Grundlagen gelegt für diese Frage:
http://python.sandtner.org/viewtopic.php?t=2287
Code: Alles auswählen
import _winreg
class FileTypeInfo:
def __init__( self ):
self.RegHandler = _winreg.ConnectRegistry(None,_winreg.HKEY_CLASSES_ROOT)
def getInfo( self, FileExt ):
FileType = self.readReg( FileExt )
if FileType == None:
return None
FileTypeInfo = self.readReg( FileType )
Programm = self.readReg( FileType+"\shell\open\command" )
return [ FileTypeInfo, Programm ]
###
### Hilfs-Funktionen
###
def readReg( self, KeyName ):
try:
KeyHandler = _winreg.OpenKey(self.RegHandler, KeyName)
KeyInfo = _winreg.QueryValueEx(KeyHandler , "")[0]
except WindowsError:
return None
_winreg.CloseKey(KeyHandler)
return KeyInfo
Code: Alles auswählen
MyFileTypeInfo = FileTypeInfo()
FileTypesInfo = {}
for Verz, VerzList, DateiListe in os.walk("C:\\"):
for Datei in DateiListe:
FileExt = os.path.splitext(Datei)[1]
if not FileExt in FileTypesInfo:
ExtInfo = MyFileTypeInfo.getInfo( FileExt )
print FileExt,"->",ExtInfo
FileTypesInfo[ FileExt ] = ExtInfo
Code: Alles auswählen
.SYS -> [u'Systemdatei', None]
.COM -> [u'Anwendung f\xfcr MS-DOS', u'"%1" %*']
.scf -> [u'Windows Explorer Command', u'explorer.exe']
.css -> [u'Kaskadierendes Stylesheet-Dokument', None]
.cfg -> [u'', u'"C:\\Programme\\wscite\\SciTE.exe" "%1"']
.xml -> [u'XML Document', u'"D:\\Programme\\Internet Explorer\\iexplore.exe" -nohome']
.sxw -> [u'OpenOffice.org 1.1.2 Text Dokument', u'"C:\\Programme\\OpenOffice.org\\program\\soffice.exe" -o "%1"']