为了账号安全,请及时绑定邮箱和手机立即绑定

如何恢复我意外覆盖的内置文件?

如何恢复我意外覆盖的内置文件?

青春有我 2021-03-29 22:19:00
我set在交互式python会话中将其用作变量名而意外覆盖了-有什么方法可以使我能够访问原始set功能,而无需重新启动会话?(在那届会议上我有很多东西,我宁愿不必这样做,尽管当然可以,如果需要的话。)
查看完整描述

3 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

只需删除掩盖内建函数的名称即可:


>>> set = 'oops'

>>> set

'oops'

>>> del set

>>> set

<type 'set'>

您仍然可以始终通过builtins 模块访问原始的内置模块(__builtin__在Python 2上,带下划线和no s);如果您要覆盖内置功能,但又想从覆盖功能中恢复到原始状态,请使用此命令:


>>> import builtins

>>> builtins.set

<type 'set'>

如果在定位掩码名称的位置时遇到麻烦,请检查从当前名称空间到内置名称空间的所有名称空间;否则,请执行以下操作。请参阅作用域规则的简短说明?适用于您当前情况的范围。


查看完整回答
反对 回复 2021-04-02
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

要使用内置包装器,请先在一个变量中分配其原始地址,例如X

工作完成后,将其设置为None,然后将原始地址重新设置为内置函数。

例子

  1. X= __builtin__.isinstance

  2. __builtin__.isinstance = myininstance

  3. 工作完成了

__builtin__.isinstance=None 


__builtin__.isinstance=X 


查看完整回答
反对 回复 2021-04-02
  • 3 回答
  • 0 关注
  • 161 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信