GeezerVison is showing github.com — Please add argument to override stdin/out/err in the input builtin · Issue #75784 · python/cpython
Please add argument to override stdin/out/err in the input builtin #75784Description
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee = None
closed_at = None
created_at = <Date 2017-09-27.06:34:07.094>
labels = ['3.7', 'expert-IO']
title = 'Please add argument to override stdin/out/err in the input builtin'
updated_at = <Date 2022-01-20.18:29:21.436>
user = 'https://github.com/wt'
bugs.python.org fields:
activity = <Date 2022-01-20.18:29:21.436>
actor = 'wt'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['IO']
creation = <Date 2017-09-27.06:34:07.094>
creator = 'wt'
dependencies = []
files = []
hgrepos = []
issue_num = 31603
keywords = ['patch']
message_count = 9.0
messages = ['303103', '303105', '303132', '303135', '303297', '338208', '341587', '410816', '411041']
nosy_count = 6.0
nosy_names = ['r.david.murray', 'wt', 'serhiy.storchaka', 'cheryl.sabella', 'anthonypjshaw', 'iritkatriel']
pr_nums = ['3814']
priority = 'normal'
resolution = None
stage = 'patch review'
status = 'open'
superseder = None
type = None
url = 'https://bugs.python.org/issue31603'
versions = ['Python 3.7']
Activitywt commented on Sep 27, 2017 MannequinAuthor More actions 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? wt commented on Sep 27, 2017 MannequinAuthor More actions This might also allow simplification of the getpass.unix_getpass() logic. I am not 100% sure about that yet though. bitdancer commented on Sep 27, 2017 This is probably a topic for the python-ideas mailing list. For example, rather than complicating input, it might be better to propose adding a redirect_stdin to contextlib to parallel the two existing redirect context managers. I don't remember why that was not added when the others were, but there was probably a reason, so a discussion about what the best solution is for the use case is in order, and python-ideas is the place for that. Reacted by Bartosz Sławecki serhiy-storchaka commented on Sep 27, 2017 input() is a convenient function for simple user interaction. If you need to read a data from different file object just use its readline() method. wt commented on Sep 29, 2017 MannequinAuthor More actions Added a PR to facilitate discussion on python-ideas. csabella commented on Mar 18, 2019 tonybaloney commented on May 6, 2019 The discussion on python-ideas has some unresolved questions. Wren, did you get a definitive answer on this idea? iritkatriel commented on Jan 17, 2022 wt commented on Jan 20, 2022 MannequinAuthor More actions I'm not sure that I ever got a definitive issue, but I didn't have time to
push it forward. I still think the idea has merit. I'd love to see it
implemented, but I don't have the time to pursue it right now.
Thanks,
wt
On Mon, Jan 17, 2022 at 10:23 AM Irit Katriel <[email protected]>
wrote:
Irit Katriel <[email protected]> added the comment:
See also bpo-1927.
----------
nosy: +iritkatriel
Python tracker <[email protected]>
<https://bugs.python.org/issue31603\>
iritkatriel commented on Oct 29, 2022
[...] I don't have the time to pursue it right now.
Thanks, wt
Thank you.
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|