绕过Python中的导入,这样我就不必上传多个库和类了?

时间:2010-05-23 14:36:55

标签: python import

例如,我有一些python脚本,它们链接在一起,还有一些需要导入的库。我正在尝试将其减少到只有一个脚本。

所以而不是:

import library.py

我可以从library.py中获取编码并放入主脚本吗?

2 个答案:

答案 0 :(得分:1)

.py文件的大小没有限制,因此您当然可以执行复制和粘贴(和编辑)操作。

一些警告:

import library.py

不太可能执行您想要的操作:它从名为py的包中导入名为library的模块。因此,它需要存在一个目录 library,其中包含__init__.pypy.py(或.pyc等)。我怀疑你的意思是import library

将所有需要的模块合并到一个大的.py文件中仅适用于您拥有Python源代码的模块(.py) - 如果模块的所有内容都是字节码,则需要不同的技术{ {1}}或.pyc,如果任何模块是本机代码二进制Python扩展(.pyo.pyd.so等等,具体取决于您的系统)那是行不通的。

您可能需要进行一些重命名,例如当您导入两个定义名称为.dylib的模块时,您必须更改其中一个或两个名称foo。这是因为,通过导入,您可以获得限定的名称(因此,如果fooa.foo都存在,则没有问题),但如果没有导入,则 bare 名称,因此您需要“手动”消除歧义。

答案 1 :(得分:0)

是的,你可以这样做,但可能不会提高可读性或可维护性。

无论如何,如果你使用这样的函数,请小心:

import library    
library.functionA()

如果您复制library.py的内容,则必须将函数调用重命名为functionA()