如何在if条件语句中执行%run命令
解决Jupyter中条件执行%run命令的问题
直接在缩进的if块里使用%run魔法命令会导致IPython解析器提前处理该命令,哪怕条件不满足也会尝试查找路径,从而报错。你可以改用IPython的API来执行魔法命令,实现条件触发:
a = 0 if a == 0: get_ipython().run_line_magic('run', '"path"')
原理说明
%run属于行魔法命令,在缩进代码块中,IPython的解析逻辑会优先解析魔法命令,而非等待条件判断结果,所以即便a != 0,它也会先尝试执行%run导致报错。- 使用
get_ipython().run_line_magic()可以将魔法命令的执行逻辑嵌入Python代码流中,只有条件满足时才会触发命令执行,同时能正确解析路径参数。
内容的提问来源于stack exchange,提问作者Raushan Kumar
相关产品推荐
相关产品推荐

