How to use pkgutil.walk_packages for an encrypted package

Can I find modules in a compressed package without first unpacking it?

I check the package using pkgutil.walk_packagesand pulling out all the modules using importlib.

for _, pkg, _ in pkgutil.walk_packages(package.__path__):
    yield importlib.import_module(pkg)

This does not work when the bag is fastened. walk_packagestakes the way.

I can do this by first unpacking the package and using:

for _, pkg, _ in pkgutil.walk_packages(unzipped_package_path):
    yield importlib.import_module(pkg)

But I would like to be able to do this without unpacking first.

pkgutil.getdataIt works with encrypted packets, I was surprised that it pkgutil.walk_packagesdoes not work.

I was wondering, something was missing.

Also, I'm limited to Python 2.7.0

+4
source share
1 answer

Python 2.7.5. urwid , .zip , PYTHONPATH:

>>> import pkgutil, urwid
>>> list(pkgutil.walk_packages(urwid.__path__))

[(<zipimporter object "urwid.egg/urwid/">,
  'canvas',
  False),
 (<zipimporter object "urwid.egg/urwid/">,
  'command_map',
  False),
 (<zipimporter object "urwid.egg/urwid/">,
  'compat',
  False),
...

urwid. importlib.import_module('urwid.canvas') importlib.import_module('canvas'). pkgutil.walk_packages prefix='urwid.' .

ispkg walk_packages.

0

All Articles