我正在使用pandas.read_csv
运行python脚本来导入csv文件。熊猫没有看到期望的内容时会提供控制台警告,例如:
Skipping line 163: Expected 41 fields in line 163, saw 42
如何将其记录到文本文件?
如果我从命令行运行脚本,则python > logfile.txt
仅在文件中显示打印输出,而不显示警告。
答案 0 :(得分:3)
使用stderr
在bash中,有3个默认流:
STDOUT:由>
或1>
重定向,这是程序的标准输出。
STDERR:由2>
重定向,这是程序的诊断输出。
STDIN:从控制台输入,使用<
进行输入。
./prog 2> errorlog.txt >logfile.txt
如果要将所有输出重定向到STDOUT,请使用:
./prog 2>&1
以下是一些更多信息: I/O Redirection