在代码中的任意位置,都存在:
builtins.open = my_open
我无法更改该代码,但它已损坏。我需要确保任何 open
调用,包括那些来自其他内置库的调用都使用原始的 open。我需要的是这样的:
orig_open = get_original_method("open")
builtins.open = orig_open
在 Javascript 中,我通常通过创建新的窗口框架并从那里获取方法来解决该问题。如何在Python中做到这一点?
最佳答案
如果这里的问题只是 open
函数,您随时可以获取 io.open
这是它的别名:
import io
builtins.open = io.open
我不知道有任何通用的解决方案,即使存在,我也不会感到惊讶。
关于python - 如何获取内置模块上重写内置方法的原始版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41409575/