我需要在python中执行shell命令,并且需要将结果存储到变量中。我该怎么做呢
我需要执行openssl rsautl -encrypt -inkey key
并将结果输出到变量。
--- ---编辑
我该如何执行
在python中perl -e'print“hello world”'| openssl rsautl -encrypt -inkey key
并获取输出..
答案 0 :(得分:3)
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。