首页 > 解决方案 > 如何在更新函数代码后第二次从另一个脚本导入函数

问题描述

我正在调试一些麻烦的代码。我喜欢使用 Vim 和 anaconda 提示符来运行代码。最近,我注意到粘贴到 anaconda 提示符很慢,因为它会逐字母打印代码。我已经厌倦了等待它。

作为替代方案,我决定将麻烦的代码包装在一个函数中,并使用 import 语句将其加载到控制台中。然后,我将数据传递给如下函数:

from Calc_True_Negs import Classify()
Classify(ins)

我需要在控制台中加载几千兆字节的数据来运行代码,因此,先加载数据似乎很方便,然后只需在控制台中键入导入语句,以便我可以运行更新的功能。

第一次通过,效果很好!控制台打印了错误语句,我回到脚本中的代码并修复了错误。代码需要第二个输入变量,因此,我更新了脚本中的函数并返回到同一个控制台并输入:

from Calc_True_Negs import Classify()
Classify(ins,outs)

我希望这会导入更新的 Classify() 函数并使用更新的参数运行它。但相反,我收到了这个错误:

TypeError: Classify() takes 1 positional argument but 2 were given

似乎 Classify() 函数没有更新对吗?我确保脚本已保存并再次尝试。同样的错误。

我以为我可以删除该功能,然后再次导入它,所以我输入了:

del Classify
from Calc_True_Neg import Classify
Classify(ins,outs)

再一次,我得到了和以前一样的错误:

TypeError: Classify() takes 1 positional argument but 2 were given

我想知道,为什么这不更新功能?而且,有没有办法更新功能,如我所愿?对其他替代品有什么想法吗?

标签: python

解决方案


推荐阅读