由于 CPython 是在 C 中实现的,当它从 stdin 读取一行时,如果该行超过解释器读取的字符串的默认大小,会导致缓冲区溢出还是 Python 会处理它?
最佳答案
Python 动态调整字符串的大小;它不容易发生溢出(尽管如果输入很大,它可能会在无法进一步扩展缓冲区时引发 MemoryError
)。
Python 以 block 的形式读取输入,如果在读取另一个 block 之前未找到换行符就填满了缓冲区,则它会增大缓冲区。
关于python - Python 的 raw_input() 容易受到缓冲区溢出的影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35858245/