Python: Importing an quot;import filequot;(Python:导入导入文件Quot;)
本文介绍了Python:导入导入文件&Quot;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我导入了许多不同的脚本,所以在我的文件顶部,它被导入语句弄得乱七八糟,即:
from somewhere.fileA import ...
from somewhere.fileB import ...
from somewhere.fileC import ...
...
有没有办法将所有这些文件移动到其他地方,然后我所要做的就是导入该文件,这样它就只是一个干净的导入?
推荐答案
我强烈反对您想要做的事情。您正在执行global include file mistake again。尽管只有一个模块在导入所有模块(而不是所有模块都在导入全局模块),但剩下的一点是,如果有充分的理由将所有这些模块收集到一个通用名称下,那就没问题了。如果没有原因,那么它们应该作为单独的包含项保存。原因是文档。如果我打开您的文件,只看到一个导入,我无法获得有关导入的内容和来源的任何信息。另一方面,如果我有进口清单,我一目了然,什么是需要的,什么不是。
此外,我假设您正在犯另一个重要的错误。当你说
from somewhere.fileA import ...
from somewhere.fileB import ...
from somewhere.fileC import ...
我假设您正在导入一个类,例如,如下所示
from somewhere.fileA import MyClass
这是错误的。此替代解决方案要好得多
from somewhere import fileA
<later>
a=fileA.MyClass()
为什么?原因有两个:第一,命名空间。如果有两个模块具有名为MyClass的类,则会发生碰撞。第二,文件。假设您使用第一个选项,并且我在您的代码中发现以下行
a=MyClass()
现在我不知道这个MyClass是从哪里来的,我必须遍历您的所有文件才能找到它。使用模块名称对其进行限定使我能够立即了解它的来源,并通过/搜索立即找到来自文件模块的内容在程序中使用的位置。
最后注意:当您说"FILEA"时,您正在做一个错误的操作。有模块(或包),而不是文件。模块映射到文件,包映射到目录,但它们也可能映射到egg文件,您甚至可以创建一个根本没有文件的模块。这是概念的命名,这是一个横向问题。这篇关于Python:导入导入文件&Quot;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:Python:导入导入文件&Quot;


基础教程推荐
猜你喜欢
- 将 YAML 文件转换为 python dict 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01