我找到|& tee
here将StdErr
和StdOut
发送到文件。现在我正在使用Mac,这适用于一个基本的例子:
hello.py
print("hello world")
print(1/0)
Mac终端中的:
python hello.py |& tee hello.txt
以下内容同时发送到控制台并写入文件:
hello world
Traceback (most recent call last):
File "hello.py", line 3, in <module>
print(1/0)
ZeroDivisionError: integer division or modulo by zero
我的实际程序有一个命令行参数,所以当我输入:
python run_process.py DEBUG |& tee process_log_27Mar18.txt
..它似乎没有产生任何输出。不确定它是否完全运行。它会创建一个文件,但它是空的。没有该行的后半部分过去&#39; DEBUG&#39;它立即开始打印到控制台。
当它有像这样的命令行参数或者这是Mac的特性时,还有什么意思吗?