在C ++中,我可以输出到cout
和cerr
;在实践中,这导致代码,其中我可以一次将输出重定向到两个文件,如:
./some_program > first_file.something 2> second_file.else
我如何在python中完成此任务?
答案 0 :(得分:2)
E.g。在Python 3中,只需导入import numpy as np
distance = np.linalg.norm(np.array(a.coord) - np.array(b.coord))
和cout
的等价物,即cerr
和sys.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)
https://docs.python.org/3/library/sys.html
sys.stdout
sys.stderr
答案 2 :(得分:1)
如果你想从命令行重定向,它的方式与你在C ++中的方式非常相似:
python file.py > first_file.txt 2> second_file.txt
以编程方式,您可以使用sys.stdout
和sys.stderr
执行此操作,通过猴子修补包含您选择的文件。