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')
是否有一个我可以使用的工具,它会看到它从框中导入框函数(或类的一个类)并将该函数(或类,甚至变量定义)插入到警告.py脚本中删除导入行(从而使它更便携)?
谢谢,
Narnie
最佳答案 听起来你想要将所有内容有效地复制粘贴到一个文件中,以便能够分发单个文件而不是几个文件?
在这种情况下,请考虑使用压缩模块而不是将所有内容复制粘贴到一个文件中…从长远来看,这是更易于维护的.
如果内部有__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
这会创建一个包含3个python文件的zip文件.它可以使用python test.zip执行.一切都是完全独立的. (我相信这需要python> = 2.6,顺便说一下……)