在Jupyter Notebook中一行实现!执行Shell命令结果的切片赋值
一行实现IPython中Shell命令结果切片赋值的方法
在Jupyter Notebook或IPython环境中,用! ls可以执行Shell命令并将结果赋值给变量,但直接尝试l = (! ls)[:3]会触发语法错误——因为!是IPython的特殊语法糖,并非标准Python语法,无法直接作为表达式被括号包裹后进行切片操作。
可行的一行实现方式
调用IPython的底层API get_ipython().getoutput(),该方法会返回Shell命令执行结果的列表,可直接进行切片操作:
l = get_ipython().getoutput('ls')[:3]
执行后,变量l就会存储ls命令输出的前3个结果,和分两步执行l = ! ls再l[:3]的效果完全一致。
内容的提问来源于stack exchange,提问作者P i
相关产品推荐
相关产品推荐

