python 中是否有一个工具可以重写一些导入东西的代码,这样它就不再需要导入任何东西了?
使用一个名为 box.py 的绘制方框的库
def box(text='Hello, World!')
draw the box magic
return
现在在另一个程序(我们称之为 warning.py)中它说:
from box import box
box('Warning, water found in hard drive')
有没有我可以使用的工具,它将看到它从 box 导入 box 函数(或与此相关的类)并将该函数(或类,甚至变量定义)插入到 warning.py 脚本中,删除导入线(从而使其更便携)?
谢谢, 纳尼
最佳答案
听起来您想要有效地将所有内容复制粘贴到一个文件中,以便能够分发一个文件而不是多个文件?
在这种情况下,考虑使用压缩模块而不是将所有内容复制粘贴到一个文件中……从长远来看,这更易于维护。
如果里面有 __main__.py
文件,Python 将执行一个 zip 文件。
例如:
echo "def foo(): print 'code inside a.py'" > a.py
echo "def bar(): print 'code inside b.py'" > b.py
echo "import a; import b; a.foo(); b.bar()" > __main__.py
zip test.zip a.py b.py __main__.py
rm a.py b.py __main__.py
python test.zip
这将创建一个 zip 文件,其中包含 3 个 python 文件。它可以用 python test.zip
来执行。一切都是完全独立的。 (顺便说一下,我相信这需要 python >= 2.6...)
关于用于合并导入项的 Python 工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3795629/