擅长:python、mysql、java
<p>您可以尝试将输出通过管道传输到临时文件,这样就没有缓冲区限制:</p>
<pre><code>STDERR=2
STDOUT=1
import os
import sys
import tempfile
class captured:
def __init__(self, fd=STDERR):
self.fd = fd
self.prevfd = None
def __enter__(self):
t = tempfile.NamedTemporaryFile()
print 'Piping your output to ' + t.name
self.prevfd = os.dup(self.fd)
os.dup2(t.fileno(), self.fd)
return t
def __exit__(self, exc_type, exc_value, traceback):
os.dup2(self.prevfd, self.fd)
with captured(fd=STDOUT) as tmp:
os.system('cat 1mbfile.txt');
print "Captured:", open(tmp.name).read()
</code></pre>
<p>请告诉我这是否对你有用。不幸的是我没有安装TF。在</p>
<p>Jupyter本身在向一个小区输出1Mb数据时幸存了下来:)</p>