나는파이썬 버그 : 입력 프롬프트에서 널 (null) 바이트는
input('some\x00 text')
는 some
대신 some text
를 묻는 메시지가 표시됩니다 것으로 나타났습니다. 소스에서
, 나는이 함수는 NULL 바이트 후 프롬프트에서 모든 것을 무시 C 기능 PyOS_Readline
을 사용하는 알아 냈어요. PyOS_StdioReadline(FILE *sys_stdin, FILE *sys_stdout, const char *prompt)
에서
:
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
이 버그 또는 이유는 거기에있다?
문제 : http://bugs.python.org/issue30431
버그와 비슷합니다. – ivand58
그것은''readline'를 호출하고있어 그 자체가 C NUL 종료 문자열 데이터 형식을 사용 readline', 그래서 완전히 다시 코딩보다'readline'을 다른, * * 할 수있는 파이썬 다른 작은있다. – torek
@torek에 감사드립니다. 난 당신이 거의 모든 사용 사례에 NULL 바이트 후 모든 문자 (데이터)를 기대할 수 없다, 이후 포스트 –