2017-02-23 68 views
3

这应该是非常基本的,但是我找不到任何东西,所以...在python中,如果我想清除整个会话并全部开始而不关闭重新开始,我该怎么做?我想删除所有对象,类DEFS,功能DEFS等几件事情我已经试过被“在python中清除板岩干净”

>>> del(dir()) 

>>> del(dir()[:]) 

我曾经知道这不工作,这是这样的,但我不记得命令。我相信这是危险的。我保证我会只用它来使用它。

+0

你不能。进口将挂起 –

+2

猜测你可以在会话开始时创建一个'globals()'的备份,然后'del'从'globals()'中的所有东西都不在备份中,但是...... _why_? –

+0

@MadPhysicist有没有办法列出进口?因为你可以“删除”一个导入。 –

回答

2

这是可能的,但可能不是一个好主意。看到这个:How do I clear all variables in the middle of a Python script?

它破坏甚至builtins,所以壳仍然有点破碎之后。你可以遍历目录并省略buildins,但是我不明白为什么我会想要这样做,而不是简单地退出并运行python([ctrl]-[d] [up arrow] [enter])。

+1

为找到重复做得很好,但是在找到它之后,为什么你回答这个问题而不是标记它? –