我希望将输出打印到控制台(显示日志信息的那个或者最好是一个单独的控制台),而不是 iPython 网页笔记本中的输出单元格。
这是因为我经常有非常长的输出需要滚动查看,而 Chrome 会在大量输出时出现卡顿和崩溃,而 iTerm2 不会。
这是因为我经常有非常长的输出需要滚动查看,而 Chrome 会在大量输出时出现卡顿和崩溃,而 iTerm2 不会。
更新自valhallasw的回答:
你应该使用以下代码,否则会出现如下错误:TypeError: a bytes-like object is required, not 'str'
。
import os
os.write(1, b"text\n")
import os
os.write(1, "text\n".encode())
您可以通过直接写入文件描述符1(而不是映射到iPython笔记本电脑的sys.stdout)来将文本写入控制台:
import os
os.write(1, "text\n")
sys.__stdout__.write("foo\n")
来输出内容(sys.stdout
映射到了notebook,而sys.__stdout__
是真正的标准输出文件句柄)。 - Thomas Kos.write
需要一个类似于bytes的对象。 os.write(1, "text\n".encode())
已足够。 - Oliver Evans