【发布时间】:2019-08-09 08:59:46
【问题描述】:
我有两个共享公共目录的 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 的符号和格式函数,但它没有这样做。导入部分已完成,但应用程序未使用这些功能。我通过拼写错误的 sign 函数进行了测试,并将类似 siggggggn 的内容放在 app.py 中,但它没有检测到错误并无论如何都运行了。因此, app.py 脚本没有做我想做的事。
我该如何解决这个问题?是否有与其中一个辅助函数有返回而另一个只是格式化文件相关的东西?我认为调用函数和使用它们没有火箭科学,但我的 app.py 脚本表现得很奇怪。提前非常感谢。
【问题讨论】:
-
所以即使
siggggggn没有在aux_functions.py中定义,from aux_functions import siggggggn也可以运行? -
如果我将 from aux_functions import siggggggn 设置为尝试导入,app.py 会显示一个错误,指出找不到它。但是,当我将 siggggn 放在 app.py 中的函数中时,这样的脚本不会告诉我即使在 aux_functions 中也不存在 siggggn 的警告。
-
我不明白你的意思。您是否期望运行
app.py会引发错误?为什么?
标签: python function import call