Python 打印长字符串后 IDLE 变慢
Python IDLE slows down after printing long string
在处理我的图像文件时,我尝试将其读入一个字符串并将其打印在我的 IDLE 3.6
上。该字符串大约有 160K 字节长,我已经将它保存到我机器上的一个 txt 文件中。这花了大约一秒钟,所以我认为打印它也需要大约相同的时间...
我从来没有错过...
现在,我检查了 this,第一个答案表明打印本身有问题。在他们的情况下,格式是非标准的,所以我不确定我的情况是否相同。其次,如果是打印问题,为什么在打印完成后 IDLE 看起来很慢?
我是这样运行的:
with open(location_of_160KB_png_file, "rb") as imageFile:
f = imageFile.read()
b = bytearray(f)
b=''.join([str(bb) for bb in b])
b[:10] # this prints easily (on IDLE I don't have to use _print_ function, I can just type the variable name)
b # this, however...
正如您在 link 的答案中所解释的那样,问题是 tk 文本小部件针对处理短行进行了优化。我已经加载了 IDLE 的 Shell 超过 500000 行,可能有 40 个字符。那是 2000 万个字符,比一个人写的任何文件都要大得多。它非常适合预期用途。
在引用的 link 中,10000 个字符的行一次构建 1 个字符。 Tk Text 停滞在 1000 左右的某个位置。你显然一次扔了 160000 个字符。一次性10000个就够了
PS:没有打印语句的回显表达式是标准的 Python 交互式解释器行为。我很确定这可能是从前人那里复制的。
在处理我的图像文件时,我尝试将其读入一个字符串并将其打印在我的 IDLE 3.6
上。该字符串大约有 160K 字节长,我已经将它保存到我机器上的一个 txt 文件中。这花了大约一秒钟,所以我认为打印它也需要大约相同的时间...
我从来没有错过...
现在,我检查了 this,第一个答案表明打印本身有问题。在他们的情况下,格式是非标准的,所以我不确定我的情况是否相同。其次,如果是打印问题,为什么在打印完成后 IDLE 看起来很慢?
我是这样运行的:
with open(location_of_160KB_png_file, "rb") as imageFile:
f = imageFile.read()
b = bytearray(f)
b=''.join([str(bb) for bb in b])
b[:10] # this prints easily (on IDLE I don't have to use _print_ function, I can just type the variable name)
b # this, however...
正如您在 link 的答案中所解释的那样,问题是 tk 文本小部件针对处理短行进行了优化。我已经加载了 IDLE 的 Shell 超过 500000 行,可能有 40 个字符。那是 2000 万个字符,比一个人写的任何文件都要大得多。它非常适合预期用途。
在引用的 link 中,10000 个字符的行一次构建 1 个字符。 Tk Text 停滞在 1000 左右的某个位置。你显然一次扔了 160000 个字符。一次性10000个就够了
PS:没有打印语句的回显表达式是标准的 Python 交互式解释器行为。我很确定这可能是从前人那里复制的。