我有一个目录结构如下:
| main.py
| scripts
|--| __init__.py
| script1.py
| script2.py
| script3.py
Run Code Online (Sandbox Code Playgroud)
从main.py,scripts导入模块.我尝试pkgutils.walk_packages结合使用__all__,但使用它,我只能在main使用时直接导入所有子模块from scripts import *.我想让他们全都失望scripts.什么是进口的所有子模块的干净的方式scripts,这样我可以访问scripts.script1从main?
编辑:对不起,我有点模糊.我想在运行时导入子模块而不明确指定它们__init__.py.我可以pkgutils.walk_packages用来获取子模块名称(除非有人知道更好的方法),但我不确定使用这些名称(或者可能walk_packages返回的ImpImporters ?)的最简洁方法来导入它们.
我看到了关于Pickle和cPickle的以下两个答案,它们由python 3自动处理,对用户透明:
我如何知道在python 3中是否使用了快速版本(cPickle)?我想强迫它使用cPickle。我的主要兴趣甚至不在速度上,而是在文件的较小大小上,因为我生成的文件最终大于1 GB。