我几天来一直在寻找这个问题的准确答案但是没有任何好处.我不是一个完整的编程初学者,但即使在中级水平也是如此.
当我在Python的shell中时,我输入:dir()我可以看到当前范围(主要块)中所有对象的所有名称,其中有6个:
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
Run Code Online (Sandbox Code Playgroud)
然后,当我声明一个变量时,例如x = 10,它会自动添加到内置模块下的对象列表中dir(),当我dir()再次键入时,它会立即显示:
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'x']
Run Code Online (Sandbox Code Playgroud)
功能,类等也是如此.
如何在不删除开头可用的标准6的情况下删除所有这些新对象?
我在这里读过"内存清理","清理控制台",它会从命令提示符窗口中删除所有文本:
>>> import sys
>>> clear = lambda: os.system('cls')
>>> clear()
Run Code Online (Sandbox Code Playgroud)
但这一切都与我想要实现的目标无关,它并没有清除所有使用过的对象.
我的设置:
这是标准的 PS1 变量:PS1="%n@%m %~ %# "
当我尝试使用 ANSI 颜色或 tput 添加文本着色时出现问题。示例(在不终止颜色的情况下,无论如何它的行为都很奇怪):
PS1="%n@%m \e[38;5;197m%~ %# "
这个缩进的原因可能是什么?
当提示中的长字符串转到换行符时,会发生第二个问题 - 换行符与第一行重叠后的新字符,而我看不到后者。这种情况仅发生在第一个换行符上,第三个换行符正常出现(但位于第二位)。
我尝试使用这个答案,但解决方案无法被外壳解析:rombez@MacBook-Pro \[\e[38;5;197m\]~