什么是及时导入Python库的最佳方法?

dbn*_*dbn 0 python python-import

我有一个Python程序,有几个慢进口.我想延迟导入它们直到需要它们为止.例如,如果用户只是试图打印帮助消息,那么导入慢速模块就很愚蠢.最恐怖的方法是什么?

我将添加一个我正在玩的解决方案作为答案.但我知道你们都可以做得更好.

Mar*_*som 5

只需将它们导入到需要的地方.模块导入一次后,它将被缓存,以便任何后续导入都很快.如果导入相同的模块20次,则只有第一个模块会很慢.

  • 是的,但唯一的问题是这样做违反了[PEP 8](http://www.python.org/dev/peps/pep-0008/#imports)中定义的编码指南,其中说"总是放入进口在文件的顶部,在任何模块注释和文档字符串之后,以及模块全局变量和常量之前". (3认同)
  • @martineau,PEP 8也说"知道何时不一致 - 有时风格指南不适用." 这是其中一种情况,因为如果您遵循指南,则无法进行延迟加载. (2认同)