BenPython hata: girdi isteminde null byte
input('some\x00 text')
some
yerine some text
için isteyecektir saptadık.
Kaynaklardan, bu işlevin NULL baytından sonra gelen her şeyi yok sayan PyOS_Readline
işlevini kullandığını öğrendim. PyOS_StdioReadline(FILE *sys_stdin, FILE *sys_stdout, const char *prompt)
itibaren
:
fprintf(stderr, "%s", prompt);
https://github.com/python/cpython/blob/3.6/Python/bltinmodule.c#L1989 https://github.com/python/cpython/blob/3.6/Parser/myreadline.c#L251
Bu bir hata mı yoksa bunun için bir neden var mı?
Sayı: http://bugs.python.org/issue30431
Çoğu bir hata gibidir. – ivand58
'readline' ı çağırıyor ve' readline'ın kendisi C NUL sonlandırılmış string veri tipini kullanıyor, bu yüzden Python * 'un * readline'ı tamamen yeniden kodlamaktan başka yapabileceği küçük bir şey var. – torek
Teşekkür ederim @torek. –