【问题标题】:curl script | python takes over stdin?卷曲脚本 | python接管标准输入?
【发布时间】:2015-10-12 01:36:38
【问题描述】:

我试图为我的脚本的用户提供一种非常简单的运行方式。我会告诉他们启动终端,将其粘贴进去,然后按 Enter:

curl https://dl.dropboxusercontent.com/u/60354330/SCMR_Installer.py | python

脚本会正确下载并启动(耶),它甚至不会将 .py 文件留在系统上的任何位置,但是当我的脚本遇到需要输入的行时,它会终止说:

Traceback (most recent call last):
  File "<stdin>", line 165, in <module>
  File "<stdin>", line 36, in yesOrNo
EOFError: EOF when reading a line

所以...我的问题是,我如何才能让我的脚本一开始就能够接收用户输入?

(顺便说一句,这是脚本的实际 url,所以如果你愿意的话,你现在就可以真正查看它。)

【问题讨论】:

标签: python bash curl


【解决方案1】:
/path/to/curl https://dl.dropboxusercontent.com/u/60354330/SCMR_Installer.py | /path/to/python <<-EOF
yes
EOF

您需要一个此处的文档 - 是的就是用户输入的答案。

【讨论】:

  • 谢谢,但我从对问题的评论中找到了一种更简单的方法:python &lt;(curl https://dl.dropboxusercontent.com/u/60354330/SCMR_Installer.py)。将其添加到您的答案中,我会接受。
  • 如果评论对您有帮助和/或感谢评论者,特别是如果它确实回答了您的问题,则为评论点赞是一种常见的礼貌。
  • @AlexHall - 对您的所有支持都是您的评论,因为它不太可能被隐藏,但我怀疑在这个问题上会有更多的评论,所以您的评论没有被隐藏的危险.你没有得到任何代表。我想它可能会帮助您获得权威徽章,但这需要对 10 个 cmets 进行 5 次投票,而且我怀疑您在这里的一条评论是否会获得 5 次投票。无论如何,我赞成它,因为你似乎在乎。
  • 我对代表感到惊讶。当我帮助某人时,我真正想要的是某种通知,感觉很好,它激励我帮助网站上的其他人。获得代表会这样做,但是如果我回答了您的问题,则感谢您的评论似乎是最合适的。如果我没有刷新页面,我不会知道我的评论有帮助。看到您提出将其他人的答案标记为正确,如果他们添加的信息不仅是他们没有想到的,而且您是通过我的评论刺痛获得的。
猜你喜欢
  • 2011-04-29
  • 1970-01-01
  • 1970-01-01
  • 2012-04-15
  • 2013-06-10
  • 1970-01-01
  • 2018-07-12
  • 1970-01-01
  • 2015-01-18
相关资源
最近更新 更多