开发者

python multiple imports for a common module

I am working on a project wherein I need to use a third party module in different project files(.py files)开发者_如何转开发. The situation is like this.

I have a file "abc.py" which imports third party module "common.py". There are couple of other files which also import "common.py". All these files are also imported in main project file "main.py".

It seems redundant to import same module in your project multiple times in different files since "main.py" is also importing all the project files.

I am also not sure how the size of the project gets affected by multiple import statements.

Can someone pls help me in making things bit simpler.


Importing only ever loads a module once. Any imports after that simply add it to the current namespace.

Just import things in the files you need them to be available and let Python do the heavy-lifting of figuring out loading the modules.


Yes, you are right, this behavior really exists in Python. Namely, if user code tries to import the same module in different ways, for example - import a and import A.a (where a.py file is located into A package and the first import is done from within the A package while the other import comes as from outside).

This can easily happen in real life, especially for multi-level packaged Python projects.

I have experienced a side-effect of such behavior, namely command isinstance does not work when an object is checked against a class that is defined in module that was imported in such way.

The solution I can think about is to redefine the __builtin__. __ import__ function to perform its work more intelligently.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜