如何在Colab中阻止IPython向控制台输出非必要提示信息
Colab/IPython 抑制
%store命令存储提示的配置方法 %store命令默认打印Stored '变量名' (变量类型)的提示是内置行为,可以按自己的使用场景选下面的方案关闭:
- 单次存储临时静默
直接在命令后加官方自带的-q(quiet)参数即可,无任何副作用,不会屏蔽报错信息:# 存储test变量时不打印提示 %store -q test - 当前Notebook全局默认静默
如果不想每次都手动加-q参数,可以在Notebook最开头运行以下代码,覆盖默认的%store魔法行为,之后正常调用%store 变量名就会默认静默,不会影响%store -r(读取变量)、%store -d(删除变量)等其他参数的正常使用:from IPython import get_ipython from IPython.core.magics.namespace import NamespaceMagics ipy = get_ipython() origin_store = NamespaceMagics.store def silent_store(self, param_str="", raise_err=False): # 未手动指定静默参数时自动追加 if "-q" not in param_str and "--quiet" not in param_str: param_str += " -q" return origin_store(self, param_str, raise_err) ipy.register_magic_function(silent_store, magic_kind="line", magic_name="store")
避坑提示:不要用重定向标准输出/错误流的方式屏蔽提示,这类方法会把
%store运行时的真实报错(比如变量不存在、存储失败等信息)一起屏蔽,出现问题时很难定位原因。
内容的提问来源于stack exchange,提问作者Gregor
相关产品推荐
相关产品推荐

