I already have a solution in Python 3 (see https://github.com/Drekin/win-unicode-console, https://pypi.python.org/pypi/win_unicode_console), I was just considering adding support for Python 2 as well. I think I have an working example in Python 2 using ctypes.
On Thu, May 7, 2015 at 9:23 PM, "Martin v. Löwis" email@example.com wrote:
Am 02.05.15 um 21:57 schrieb Adam Bartoš:
Even if sys.stdin contained a file-like object with proper encoding attribute, it wouldn't work since sys.stdin has to be instance of <type 'file'>. So the question is, whether it is possible to make a file
in Python that is also customizable so it may call my code. For the first thing, how to change the value of encoding attribute of a file object.
If, by "in Python", you mean both "in pure Python", and "in Python 2", then the answer is no. If you can add arbitrary C code, then you might be able to hack your C library's stdio implementation to delegate fread calls to your code.
I recommend to use Python 3 instead.