gpt4 book ai didi

python - 从嵌入式 python 代码获取输入时出错

转载 作者:太空宇宙 更新时间:2023-11-04 12:08:10 25 4
gpt4 key购买 nike

我有一个调用 python2.6 来读取输入的 bash 脚本,但我遇到了一个错误。下面是脚本。我正在从终端运行 bash 脚本

a=1
b=2
python2.6 <<"EOF"
a=int(input('Enter num 1'))
b=int(input('Enter num 2'))
ptint('a=%d ' % a)
print('b=%d ' % b)
EOF

c=$((a + b))
echo "$c"



Enter num 1Traceback (most recent call last):
File "<stdin>", line 1, in <module>
EOFError: EOF when reading a line
3

最佳答案

Enter num 1Traceback (most recent call last):

您通过 stdin 传递您的脚本,您还希望您的用户在 stdin 上输入。 input 引发了它,因为它什么也没有。在任何情况下,您都可以使用不同的构造(如进程替换)来“嵌入”该 python 代码。例如:

...
python2 <(cat <<"EOF"
a=int(input('Enter num 1'))
b=int(input('Enter num 2'))
print('a=%d ' % a)
print('b=%d ' % b)
EOF
)
...

那不会失败,但可能不会按照我假设的那样做您希望它做的事情。获取打印件并使用它们重新定义 bash 变量的值。

为此,如果 $(...) 用于命令替换,您必须将整个 python 调用包装在另一对中。但是,这也会吞噬您的输入提示(使它们不可见并使 shell 困惑)。我不认为 input 让你使用 stderr 提示来解决这个问题。 (它还有另一个对输入执行 eval 的问题,这可能会让您面临一系列其他问题,并且可能不是您想要在这种情况下使用的函数)。

我不完全确定这个脚本的走向,但我希望这能给你一些继续下去的东西。

关于python - 从嵌入式 python 代码获取输入时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49874711/

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