【问题标题】:How to pass result of shell command in ipython interpreter back to python variable如何将ipython解释器中shell命令的结果传递回python变量
【发布时间】:2020-09-30 01:41:48
【问题描述】:

我没有任何运气弄清楚如何做到这一点:

在ipython中,如果我执行以下命令

var = 'abc'
!echo $var | rev

它按预期工作。但是,如何将shell命令的输出捕获回python中的变量(如new_var = !echo $"var" | rev)?

我已经尝试了Running shell command and capturing the output 此处的大多数示例,但都没有成功,因为变量 var 在传递给使用子流程库的众多解决方案中的任何一个时都没有按预期工作。

【问题讨论】:

    标签: shell ipython


    【解决方案1】:

    这确实有效:

    在 [99] 中:out =!echo $var |转

    输入[100]:输出 出[100]:['cba']

    (问题是我的 shell 命令在一个 for 循环中,我正在逐行读取文件,我没想到那里有换行符,这导致 | 搞砸了 bash 命令。A每行简单的strip(),-这是我的var-在它被传递给echo之前修复)

    【讨论】:

      猜你喜欢
      • 2021-11-30
      • 2021-10-26
      • 2018-12-21
      • 1970-01-01
      • 2015-08-05
      • 2015-01-08
      • 1970-01-01
      • 1970-01-01
      • 2017-05-23
      相关资源
      最近更新 更多