我有两个共享一个公共目录的Python文件。一个称为aux_functions.py,另一个称为 app.py。app.py 使用aux_functions.py的一些功能,我一如既往地执行导入。但是,无论aux_functions.py的功能拼写错误,app.py 文件都会运行。它不会检测到问题;因此,该函数不会按预期运行。
我已经测试了导入部分并拼错了一个函数的名称,app.py 检测到错误。但是,当我在 app.py 的另一个函数中拼错导入函数的名称时,没有注意到错误。
aux_functions.py是这样的:
def sign(k, m):
do something
def format(a):
do something
app.py 是这样的:
from aux_functions import sign, format
def signature(data):
mes = data["message"]
sig = sign(key, mes)
return format(sig)
预计 app.py 脚本使用 aux_functions 中的符号和格式函数,但它不会这样做。导入部分已完成,但应用程序未使用这些函数。我通过拼写错误的符号函数进行了测试,并在 app.py 中放入了类似 siggggggn 的东西,它没有检测到错误并且无论如何都运行了。因此,app.py 脚本没有做我想要的。
我该如何解决这个问题?是否有任何与其中一个辅助函数有返回而另一个只是格式化文件有关的东西?我认为调用函数和使用它们没有火箭科学,但我的 app.py 脚本表现得很奇怪。提前非常感谢。
Python 没有函数重载。
使用app.py
中的sign
函数:
def sign(data):
mes = data["message"]
sig = sign(key, mes)
return format(sig)
在这里,您可以递归调用该函数。它称自己,而不是来自aux_functions
的那个.
要解决此问题,您可以导入整个模块
import aux_functions
然后打电话给aux_functions.sign(key, mes)
.
或者对sign
函数使用别名
from aux_functions import sign as aux_sign, format
并呼叫aux_sign(key, mes)
.