如何将输出存储到变量或.txt文件中?

时间:2017-10-02 16:13:20

标签: python-2.7 command-line

我在Python 2.7中运行以下代码:

values = os.system("bazel build tensorflow/examples/image_retraining:"
                                  "label_image && bazel-bin/tensorflow/examples/image_retraining/label_image "
                                  "--graph=/tmp/output_graph.pb --labels=/tmp/output_labels.txt "
                                  "--output_layer=final_result:0 --image=$HOME/Desktop/Image-3/image1.png")

print values

但是对于values变量,我返回0.我相信这意味着我没有收到任何错误。如何将输出存储到变量或.txt文件中?

2 个答案:

答案 0 :(得分:0)

您只需将附加> output.txt的系统调用的输出重定向到您的命令。

命令的输出将在您调用命令的目录中的文件output.txt中(可能与您调用python脚本的命令相同)。

答案 1 :(得分:0)

由于我无法轻易重现您的命令,因此我使用了一个简单的示例 - 尝试切换到Pyopen模块中的subprocess

from subprocess import Popen

proc = Popen(['ls', '-t'], stdout = open('/path/redir.txt', 'w'))

在这里,您可以在方括号中运行该命令,并将stdout的输出(即终端)重定向到文件redir.txt