如何在python中执行计算并捕获输出?

时间:2014-09-05 14:33:18

标签: python python-2.7 variables vim capture

如何在python(2.7)中执行计算并捕获变量'results'中的输出?

输入:

let calculation = '(3*15)/5'
let formatting  = '\\%2d'
let grouping = '0'

exe "python -c \"import math, locale; locale.format(formatting, calculation, grouping)\""

并在变量results

中捕获输出

输出:

results ='9'

PS:
是否有可能在python中包装我的计算的第一部分,类似于vim中的eval()函数?
体育

  let command = 'python -c \"import math, locale\"'
  exe "eval(command); locale.format(formatting, calculation, grouping)"

2 个答案:

答案 0 :(得分:3)

嗯... :let foo = (3*15)/15

无论如何,您可以使用:let foo = system('mycommand')

捕获外部命令的输出
:let foo = system("python -c 'print (15*3)/5'")

由你决定将字符串放在一起。

答案 1 :(得分:1)

我曾写过一个脚本来在vim中进行数字计算。它支持三种表达式评估引擎:GNU bc, vimscript and python

它被称为HowMuchhttps://github.com/sk1418/HowMuch

对于python部分,你可以在这里查看:

https://github.com/sk1418/HowMuch/blob/master/autoload/HowMuch.vim#L285

希望它有所帮助。