我有一些具有冗余功能的 IPython 脚本。我想将通用功能重构到一个模块中,并将该模块包含在现有脚本中。问题是它不能成为 python 模块,因为代码使用了 Ipython 的语言扩展(!、$ 等)。是否可以制作具有 IPython 代码的模块并将其包含在另一个 IPython 脚本中?
最佳答案
您不应该在文件中保存 IPython 扩展内容(?
、!
、%run
)。曾经。这些是交互式工具,它们是您用手输入但永远不会保存到文件中的东西。
找出文件中的共同特征。您恰好有四种东西可以用于此。
导入(
import
)函数定义(
def
)类定义(
类
)全局变量赋值
您必须从此代码中删除所有 IPython 交互功能。所有这一切。
重写您的脚本,以便它们 (1) 导入您的常用内容,(2) 执行它们应该执行的有用工作。
您必须从此代码中删除所有 IPython 交互功能。所有这些。
现在您可以运行您的脚本,它们会像正确的 Python 脚本一样工作。
您仍然可以在输入时使用 IPython 扩展功能,例如 !
、?
和 %run
,但您不应该保存这些进入文件。
关于python - IPython 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1031659/