shell - 如何将ipython解释器中shell命令的结果传递回python变量
问题描述
我没有任何运气弄清楚如何做到这一点:
在 ipython 中,如果我执行以下命令
var = 'abc'
!echo $var | rev
它按预期工作。但是,如何将 shell 命令的输出捕获回 python 中的变量(如new_var = !echo $"var" | rev
)?
我在这里尝试了大部分示例运行 shell 命令并捕获输出var
但没有运气,因为当使用子进程库传递给许多解决方案中的任何一个时,该变量没有按预期工作。
解决方案
这实际上有效:
在 [99] 中:out =!echo $var | 转
输入[100]:输出输出[100]:['cba']
(问题是我的shell命令在一个for循环中,我正在逐行读取文件,我没想到那里有换行符,这导致|
bash命令搞砸了。strip()
每一行都有一个简单的,-这是我的var
- 在它被传递给echo
修复之前)
推荐阅读
- r - s(V1, df = 3) 中的错误:找不到函数“s”
- c# - 遍历对象的值
- amazon-athena - R Studio Server <-> Athena 集成速度极慢?
- php - 与mysql本地连接的视图不一致
- python - pyCharm 命令行参数不起作用
- python - 根据“父”元组值对字典进行排序
- ios - 如何使用 Swift 修复无法将“DataClass”类型的值分配给“[DataClass]”类型的错误
- javascript - 如何将文本放在单选按钮标签中?
- javascript - EqualTo() not working in Firebase DB call
- mysql - 'exists' 中的 Sql 'like' 条件