我想打印到运行IPython Notebook的终端窗口而不是单元格输出。当我发出大量print
次呼叫时,打印到单元格输出会消耗更多内存并减慢我的系统速度。从本质上讲,我希望设计this行为。
我尝试了以下内容:
sys.stdout.write
和 <!DOCTYPE html>
<html>
<head>
<style>
.footer {
background-color: #125e9a;
bottom: 0;
height: 5%;
position: absolute;
width: 100%;
}
.footer-links{
display: block;
float:left;
margin-left: 3%;
padding: 0.5%;
width: 98px;
}
.arrow{
background-color: green;
height: 14px;
margin-top: 2%;
width: 10px;
}
.footer .button-text{
color: #fff;
font-size: 14px;
font-weight: 600;
margin-left: 7%;
}
.footer-links-wrapper{
width: 215px;
}
</style>
</head>
<body>
<div id="footer" class="footer">
<div class="footer-links-wrapper">
<span id="help" class="pull-left footer-links">
<span id="left-arrow" class="arrow left-arrow"> << </span>
<span id="help-text" class="button-text">
HELP
</span>
</span>
<span id="logout" class="pull-right footer-links">
<span id="logout-text" class="button-text">
LOGOUT
</span>
<span id="right-arrow" class="arrow right-arrow"> >> </span>
</span>
</div>
</div>
</body>
</html>
来电答案 0 :(得分:12)
您必须将输出重定向到系统标准输出设备。这取决于您的操作系统。在Mac上将是:
import sys
sys.stdout = open('/dev/stdout', 'w')
在IPython单元格中键入以上代码并对其进行评估。之后所有输出都将显示在终端中。
答案 1 :(得分:2)
在Windows上,这可以工作:
import sys
sys.stdout = open(1, 'w')
答案 2 :(得分:1)
为了能够轻松地将一种形式转换为另一种形式:
null
类似地,terminal_output = open('/dev/stdout', 'w')
print('this will show up in the IPython cell output')
print('this will show up in the terminal', file=terminal_output)
可用于发送到终端stderr,而与terminal_error = open('/dev/stderr', 'w')
的默认行为(即在IPython单元输出中打印错误消息)的默认行为没有冲突。