要保护Python代码免受Pydoc执行的影响,可以采取以下解决方法之一:
import sys
if "pydoc" not in sys.modules:
# 执行敏感代码
pass
__main__
模块的属性__file__
,检查代码是否在Pydoc环境下执行。如果是,则不执行敏感代码。if __name__ == "__main__" and not __file__.endswith("pydoc.py"):
# 执行敏感代码
pass
inspect
模块的stack
函数,检查调用栈是否包含Pydoc相关信息。如果不包含,则执行敏感代码。import inspect
stack = inspect.stack()
is_pydoc = any("pydoc" in frame.filename for frame in stack)
if not is_pydoc:
# 执行敏感代码
pass
这些方法可以根据需求进行灵活调整,以确保代码在Pydoc执行时不会执行敏感部分。
上一篇:保护Pusher的消息