Serhiy Storchaka <storchaka+cpyt...@gmail.com> added the comment:

The solution with fileno() is clever, but as was mentioned before, it doesn't 
work if stdin or stdout are not real files, but something like StringIO. It is 
not that in common use of argparse for parsing arguments in scripts they are 
redefined, but argparse can be used in uncommon environments, for example for 
emulating command line in the environment like IDLE which redefines standard 
streams. And I'm sure this will break third-party tests which main() with 
patched stdin/stdout for testing CLI. The initial solution proposed by Moritz 
is more reliable, although it doesn't fix an issues with closing stdin/stdout. 
But this is a different issue at all.

----------
nosy: +serhiy.storchaka

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue14156>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to