Python Fabric:如何回答键盘输入?

dze*_*zen 23 python automation fabric

我想自动响应一些程序提示的一些问题,比如mysql提示输入密码,或者当我想用./manage.py rebuild_index重建我的haystack索引时要求'是'或... .

对于MySQL,我可以使用--password =开关,我确信apt有一个'quiet'like选项.但是如何将响应传递给其他程序呢?

buc*_*ley 37

如果要查找用户确认操作,请使用confrim方法.

if fabric.contrib.console.confirm("You tests failed do you want to continue?"):
  #continue processing
Run Code Online (Sandbox Code Playgroud)

或者,如果您正在寻找从用户获取输入的方法,请使用prompt方法.

password = fabric.operations.prompt("What is your password?")
Run Code Online (Sandbox Code Playgroud)

  • 我建议不要使用Fabric的提示输入密码,而是使用它来使用,以便在输入时不显示终端上的密码.对于非密码输入,我同意Fabric的提示很好用. (7认同)

Est*_*ber 13

为什么你不能只使用管道

例如,对于自动自动接受,只需使用yes,只输出一个无休止的流y.

yes | rm *.txt
Run Code Online (Sandbox Code Playgroud)

http://upload.wikimedia.org/wikipedia/en/thumb/f/f6/Pipeline.svg/280px-Pipeline.svg.png