[英]Is there a way to automatically verify all imports in a Python script without running it?
假设我有一个有点长的Python脚本(手工审计太长),其中包含一个昂贵的操作,然后是一堆依赖于昂贵操作输出的库函数调用。
如果我没有为库函数调用导入所有必需的模块,那么只有在昂贵的操作完成后 ,Python才会出错,因为Python会逐行解释。
有没有办法自动验证我有所有必要的导入没有 a)逐行手动验证它或b)每次我错过一个库时运行昂贵的操作?
提出这个问题的另一种方法是,是否有一个工具可以执行C编译器在运行时验证依赖关系方面所做的工作。
不,这是不可能的,因为可以在运行时注入依赖项。
考虑:
def foo(break_things):
if not break_things:
globals()['bar'] = lambda: None
long_result = ...
foo(long_result > 0)
bar()
根据long_result
的运行long_result
,可能会给出NameError: name 'bar' is not defined
long_result
NameError: name 'bar' is not defined
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.