如何使用Python自动从终端问题输入多行答案? [重复]

问题描述 投票:1回答:1

我在命令行中从Node编写的命令行应用程序执行此操作:

openapi2apigee generateApi petStore -s '/Users/rafaelpaz/Documents/python/mapping-api_0.0.3.yml' -d /Users/rafaelpaz/Documents/python -D

这基本上连接到我的谷歌apigee帐户,并在本地生成一些文件给我。在终端上生成文件(连接仍然从命令行打开)后,我必须输入一些输入,然后在我的键盘上输入每个输入,以实现我想要的,这是将这些文件部署到我的谷歌apigee帐户(因为它超出了问题的范围,所以没有深入到此处)。这就是我所说的:

enter image description here

想知道是否有人在python上有一个如何自动执行此操作的示例,我的意思是输入所有这些输入。我将有一个python web应用程序,所以这段代码将在端点内。

python python-3.x subprocess apigee apigee127
1个回答
1
投票

最简单的方法是通过调用shell。在你使用Bash的地方(正如我们在评论中讨论的那样),你可以使用一个文字heredoc,它将多行输入提供给进程的stdin。

首先,一个语法示例:

command <<'EOF'
input to command
more input
EOF

所以这种情况:

openapi2apigee generateApi petStore -s '/Users/rafaelpaz/Documents/python/mapping-api_0.0.3.yml' -d /Users/rafaelpaz/Documents/python -D <<'EOF'
https://api.enterprise.apigee.com
[organization]
[user id]
[password]
test
default
EOF
© www.soinside.com 2019 - 2024. All rights reserved.