Python中可以填充到raw_input()的最大字符数

Sri*_*ati 2 python raw-input

对于InterviewStreet挑战,我们必须能够容纳来自键盘的10,000字符串输入,但是当我将一个10k长的单词复制/粘贴到我的本地测试中时,它会切断大约一千个左右.

什么是Python的官方限制?有没有办法改变这个?

多谢你们

以下是挑战:

http://www.interviewstreet.com/recruit/challenges/solve/view/4e1491425cf10/4edb8abd7cacd

Fil*_*efp 8

你确定你的10k长单词不包含换行符吗?


raw_input([prompt])

如果存在prompt参数,则将其写入标准输出而不带尾随换行符.然后,该函数从输入中读取一行,将其转换为字符串(剥离尾部换行符),然后返回该行.读取EOF时,会引发EOFError.

...

如果加载了readline模块,则raw_input()将使用它来提供精细的行编辑和历史记录功能.

返回的缓冲区没有最大限制(在python中)raw_input,并且当我测试stdin的一些大量输入时,我无法重现您的结果.我试图在网上搜索有关这方面的信息,但没有提出任何可以帮助我回答你问题的信息.

我的考试

  :/tmp% python -c 'print "A"*1000000' | python -c 'print len (raw_input ())';
  1000000
  :/tmp% python -c 'print "A"*210012300' | python -c 'print len (raw_input ())';
  210012300
  :/tmp% python -c 'print "A"*100+"\n"+"B"*100' | python -c 'print len (raw_input ())'; 
  100
Run Code Online (Sandbox Code Playgroud)


Eri*_* F. 6

raw_input我有同样的经历,发现如果不导入模块,python 就会限制输入的长度readline。一旦我导入了readline模块,它就解除了限制(或者至少将其显着提高到我使用的文本工作得很好的程度)。这是在我的 Mac 上使用 Python 进行的2.7.15。此外,它\xe2\x80\x99 已被确认至少可以在3.9.5.

\n