用于合并导入项的 Python 工具

标签 python parsing import

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/

相关文章:

android - 如何使用 JSOUP 从该表中选择链接?

python - 寻找一种将价格解析为小数的通用方法

java - 解析器组合器中的递归耗尽堆栈空间

PHP:在 SQL 中插入时将每个数据放入单引号 (' ' )

python - Gensim Word2vec 存储属性 syn0norm

python - 检查文件名是否包含字符串 Python

python - 如何旋转长方体?

python - 设置 restrict_xpaths 设置后出现 UnicodeEncodeError

java - "The type java.sql.Connection is not accessible"Eclipse IDE错误

mysql - 尝试将 csv 文件导入 MySQL 表时总是出错