The support includes encrypted archives and all common compression methods.
The 7z Format package is exposed to the SDK:
from Pro.Core import * from Pkg.SevenZip import * def parse7zArchive(fname): c = createContainerFromFile(fname) if c.isNull(): return obj = SevenZipObject() if not obj.Load(c) or not obj.ParseArchive(): return n = obj.GetEntryCount() print(n) for i in range(n): entry = obj.GetEntry(i) if entry == None: break # skip directories if obj.IsDirectory(entry): continue print("file name:", entry.filename) # retrieves the file data as NTContainer fc = obj.GetEntryData(entry)
To parse an XZ archive:
from Pro.Core import * from Pkg.XZ import * def parseXZArchive(fname): c = createContainerFromFile(fname) if c.isNull(): return obj = XZObject() if not obj.Load(c) or not obj.ParseArchive(): return # decompresses the archive decompressed = obj.Extract()