Python:输出到多个重定向

时间:2017-11-17 22:12:07

标签: python output

在C ++中,我可以输出到coutcerr;在实践中,这导致代码,其中我可以一次将输出重定向到两个文件,如:

./some_program > first_file.something 2> second_file.else

我如何在python中完成此任务?

3 个答案:

答案 0 :(得分:2)

E.g。在Python 3中,只需导入import numpy as np distance = np.linalg.norm(np.array(a.coord) - np.array(b.coord)) cout的等价物,即cerrsys.stdout

sys.stderr

然后您可以像往常一样使用bash重定向:

from sys import stdout, stderr

print('to standard output', file=stdout)
print('to standard error', file=stderr)

如果你愿意,你甚至可以随意命名。 E.g:

python program.py 1>output 2>errors

它更少" Pythonic,"但是,如果它可以帮助您缩小与C ++体验的差距,那么它可能会有所帮助。

答案 1 :(得分:1)

答案 2 :(得分:1)

如果你想从命令行重定向,它的方式与你在C ++中的方式非常相似:

python file.py > first_file.txt 2> second_file.txt

以编程方式,您可以使用sys.stdoutsys.stderr执行此操作,通过猴子修补包含您选择的文件。