【发布时间】:2019-12-15 00:59:36
【问题描述】:
如标题所述。我的代码中有这个:
os.system("./vpr/vpr " + config + " " + file_name + " --seed " + str(seed) + " &> " + str(bench_name) + "-" + str(seed) + ".stdout")
其中有很多变量,但它只是对此进行评估(我肯定知道,因为我在 os.system 行之前有一个打印语句):
./vpr/vpr vpr/k6_N10_40nm.xml vpr/blif/clma.blif --seed 0 &> clma-0.stdout
该命令实际上运行良好,但重定向却不行!文件clma-0.stdout 被创建但仍然是空的,我仍然在我的终端上获得整个标准输出。
解决方案是什么?我究竟做错了什么? 我在 Ubuntu 19.10 上使用 python-3.7
谢谢。
【问题讨论】:
-
@DYZ 实际上它会将 stdout 和 stderr 都重定向到文件。
-
是的,你是对的。
-
题外话,但是如果您将stdout 和 stderr 重定向到它,为什么文件名为
.stdout? -
这是因为vpr程序实际上并没有使用stderr。而且我有这种将两者都重定向到同一个文件的习惯。真的没有充分的理由。
标签: python python-3.x python-3.7 os.system