Python中可以填充到原始输入()中的最大字符数

Python中可以填充到原始输入()中的最大字符数,python,raw-input,Python,Raw Input,对于InterviewStreet挑战,我们必须能够适应键盘输入的10000个字符串,但当我将一个10公里长的单词复制/粘贴到本地测试中时,它会在1000个左右中断 Python的官方限制是什么?有没有办法改变这一点 谢谢各位 以下是作者的挑战: 你确定你的10公里长的单词没有换行符吗 ([prompt]) 如果存在prompt参数,则将其写入标准输出,而不带尾随换行符。然后,函数从输入中读取一行,将其转换为字符串(去掉尾随的换行符),并返回该字符串。读取EOF时,EOFError升高 如果

对于InterviewStreet挑战,我们必须能够适应键盘输入的10000个字符串,但当我将一个10公里长的单词复制/粘贴到本地测试中时,它会在1000个左右中断

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

谢谢各位

以下是作者的挑战:


你确定你的10公里长的单词没有换行符吗


([prompt])

如果存在prompt参数,则将其写入标准输出,而不带尾随换行符。然后,函数从输入中读取一行,将其转换为字符串(去掉尾随的换行符),并返回该字符串。读取EOF时,EOFError升高

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

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

我的测试

:/tmp%python-c'print“A”*1000000'| python-c'print len(原始输入());
1000000
:/tmp%python-c'print“A”*210012300'| python-c'print len(原始输入());
210012300
:/tmp%python-c'print“A”*100+“\n”+“B”*100'| python-c'print len(原始输入());
100

我想这是挑战的一部分。建议原始输入()可能不是最佳方法:

下面列出了最常见的(可能是幼稚的)方法。(……)


确实有一些Python标准模块可以帮助处理系统输入/输出。

我也有同样的经验,发现如果不导入
readline
模块,Python会将输入长度限制为
原始输入。一旦我导入了
readline
模块,它就提高了限制(或者至少大大提高了限制,使我所使用的文本工作正常)。这是在我的Mac电脑上用Python
2.7.15

实现的,没有这样的限制。您粘贴的输入中可能有一个错误的换行符。重复?+1感谢您的精彩、简单的演示。干得好。哇,万分感谢!这也适用于我(Python2.7.17,Ubuntu18.04),适用于Python3.9.5,macOS。