New submission from Wren Turkal <[email protected]>:
I would really love to add a few params to input so that it's signature looked
more like so:
def input(prompt, /, *, fin=sys.stdin, fout=sys.stdout, ferr=sys.stderr):
...
This would certainly make overriding the the files in specific calls to input
easier. A reasonable use case is collecting a piece over /dev/tty explicitly so
that a redirected stdin could be used to pipe data into a program while
overriding using /dev/tty to collect some piece of data. Here's some code
illustrating what I'd like:
import sys
sys.stdin.close()
sys.stdin = open('/dev/null', 'r')
with open('/dev/tty', 'r') as f:
x = input('Name? ', fin=f)
print(x)
FWIW, I have actually already implemented this fully (including tests). I am
just trying to see what I need to do to allow release since I am work on my
employer's time.
In the interest of getting feedback, does the signature provided above look
sane?
----------
components: IO
messages: 303103
nosy: wt
priority: normal
severity: normal
status: open
title: Please add argument to override stdin/out/err in the input builtin
versions: Python 3.7
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue31603>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com