在子进程中使用cat打印文件内容

时间:2016-10-06 19:05:56

标签: python shell subprocess

我在python中使用子进程调用,我必须使用cat打印文件内容。文件名是我在python代码本身生成的变量。这是我的代码:

pid = str(os.getpid())
tmp_file_path = "/tmp/" + pid + "/data_to_synnet"
synnet_output = subprocess.check_output(["cat echo '%s'"%tmp_file_path], shell=True)

以上代码引发错误cat: echo: No such file or directory

但是,当我仅使用subprocess.check_output(["echo '%s'"%tmp_file_path], shell=True)时,会正确打印变量名称。

另外,我尝试在命令行中执行此操作(cat echo $tmp_file_name)并且它可以正常工作。有人可以告诉我有什么问题吗?

1 个答案:

答案 0 :(得分:2)

您想要的命令是:

"cat '%s'"%tmp_file_path

摆脱“回声”一词。

可替换地,

 synnet_output = subprocess.check_output(["cat", tmp_file_path], shell=False)