gpt4 book ai didi

python - 如何在 Python 中显示重定向的标准输入?

转载 作者:太空狗 更新时间:2023-10-29 21:44:33 25 4
gpt4 key购买 nike

我正在开始一个 Python 项目,其中 stdin 重定向是必需的,使用类似于下面的代码:

import sys
import StringIO

s = StringIO.StringIO("Hello")
sys.stdin = s
a = raw_input("Type something: ")
sys.stdin = sys.__stdin__
print("You typed in: "+a)

问题是,代码运行后,显示如下:

Type something: You typed in: Hello

有没有办法修改我的代码,以便显示以下内容?

Type something: Hello

You typed in: Hello

我一直在上下搜索,但还没有找到答案。如果有人有想法,我将不胜感激。谢谢!

最佳答案

我不确定你为什么需要这样做,但你总是可以这样做:

a = raw_input("Type something: ")
if sys.stdin is not sys.__stdin__:
print(a)
print("You typed in: "+a)

话又说回来,根据需要将 raw_input 换成您自己的实现可能更有意义。

编辑:好的,根据您的评论,您似乎想要进行一些猴子修补。像这样:

old_raw_input = raw_input

def new_raw_input(prompt):
result = old_raw_input(prompt)
if sys.stdin is not sys.__stdin__:
print result
return result

raw_input = new_raw_input

当然,这可能会使重定向标准输入变得毫无意义。

关于python - 如何在 Python 中显示重定向的标准输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5812333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com