gpt4 book ai didi

python - 如何在 Python 中以被动方式将值传递给交互式输入?

转载 作者:行者123 更新时间:2023-12-05 01:11:25 26 4
gpt4 key购买 nike

我使用了一个函数,它以交互方式从用户那里获取一些输入并返回一些值。我想运行该函数(无需更改它),而不必自己输入值,例如让它从列表中读取。我怎样才能做到这一点?

MCVE:

def add():
a = int(input('first number: '))
b = int(input('first number: '))
return(a+b)

我希望能够运行类似 magic(add(), [2, 3]) 的东西来获得输出 5

最佳答案

假设您在 Linux 或 wsl 上,您可以通过 stdin 传递一些输入。即,

$ echo $'1\n3\n' | python scripy.py

应该生成 4。如果您有一个内容相同的文件,您可以使用 cat

执行相同的操作
$ cat file.in | python script.py

仅在绝对必要时:

python也可以用来模拟stdin。 sys.stdin 只是 StringIO 类的一个实例。我们可以使用包含我们选择的内容的 StringIO 类覆盖默认的 sys.stdin。

with StringIO(in_string) as f:
tmp = sys.stdin
sys.stdin = f
add()
sys.stdin = tmp

关于python - 如何在 Python 中以被动方式将值传递给交互式输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63182736/

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