例如,我有一些python脚本,它们链接在一起,还有一些需要导入的库。我正在尝试将其减少到只有一个脚本。
所以而不是:
import library.py
我可以从library.py中获取编码并放入主脚本吗?
答案 0 :(得分:1)
.py
文件的大小没有限制,因此您当然可以执行复制和粘贴(和编辑)操作。
一些警告:
import library.py
不太可能执行您想要的操作:它从名为py
的包中导入名为library
的模块。因此,它需要存在一个目录 library
,其中包含__init__.py
和py.py
(或.pyc
等)。我怀疑你的意思是import library
。
将所有需要的模块合并到一个大的.py
文件中仅适用于您拥有Python源代码的模块(.py
) - 如果模块的所有内容都是字节码,则需要不同的技术{ {1}}或.pyc
,如果任何模块是本机代码二进制Python扩展(.pyo
或.pyd
或.so
等等,具体取决于您的系统)那是行不通的。
您可能需要进行一些重命名,例如当您导入两个定义名称为.dylib
的模块时,您必须更改其中一个或两个名称foo
。这是因为,通过导入,您可以获得限定的名称(因此,如果foo
和a.foo
都存在,则没有问题),但如果没有导入,则 bare 名称,因此您需要“手动”消除歧义。
答案 1 :(得分:0)
是的,你可以这样做,但可能不会提高可读性或可维护性。
无论如何,如果你使用这样的函数,请小心:
import library
library.functionA()
如果您复制library.py
的内容,则必须将函数调用重命名为functionA()
。