【发布时间】:2011-09-14 21:51:47
【问题描述】:
我正在尝试从函数内部导入一个模块,并使其可用于我的整个文件,就像我在任何函数之外并且在所有其他代码之前导入时一样。它在函数中的原因是我对脚本的结构没有太多控制。如果不求助于破解 __builtin__ 或在我的代码周围传递我需要的东西,这是否可能?
【问题讨论】:
-
如果您关心下一个必须阅读您的代码的人(可能是您自己),请不要这样做。听起来您正在以糟糕的组织实践作为糟糕的编码实践的借口;尝试解决根本原因。
-
我正在修改一个开源项目并尝试更改绝对最低要求。
-
因此,通过尝试更改必要的最小值,您会让所有其他贡献者难以理解。这是一个糟糕的权衡。
-
如果由我来决定,我会重组代码的许多部分,但我的老板不希望我这样做。编辑:为了更清楚一点,直到代码中的这一点才知道模块名称,这就是为什么我首先要在此处导入它。在顶部导入并不是我们认为太大的变化。