在python中调用shell命令

时间:2015-05-18 11:39:30

标签: python linux shell

我需要在python中执行shell命令,并且需要将结果存储到变量中。我该怎么做呢 我需要执行openssl rsautl -encrypt -inkey key并将结果输出到变量。

--- ---编辑

我该如何执行

  

perl -e'print“hello world”'| openssl rsautl -encrypt -inkey key

在python中

并获取输出..

2 个答案:

答案 0 :(得分:3)

您可以使用subprocess.check_output

from subprocess import check_output

out = check_output(["openssl", "rsautl", "-encrypt", "-inkey", "key"])

输出将存储在out

答案 1 :(得分:1)

执行shell命令的一种简单方法是page

import os

cmdOutput1 = os.popen("openssl rsautl -encrypt -inkey key").readlines()
cmdOutput2 = os.popen("perl -e 'print \"hello world\"' | openssl rsautl -encrypt -inkey key").readlines()

所需要的只是您想要以一个String的形式运行的命令。它会返回一个打开的文件对象。通过使用.readlines(),此打开的文件对象将转换为列表,其中List中的Item将对应于命令中的单行Output。