Python和Bash:如何自动化用户输入?

时间:2011-11-04 21:56:22

标签: python bash

我在python和bash中下载了一些脚本,提示用户输入命令行。由于我经常运行这些脚本,我想自动提供程序的输入。我不想修改脚本。有没有办法在不修改原始代码的情况下完成它?

[更新] 感谢EnabrenTane的建议,它看起来效果很好,直到我找到了一行password = getpass.getpass('password: ')。它抱怨如下:

File "/usr/lib/python2.4/getpass.py", line 29, in unix_getpass
old = termios.tcgetattr(fd)     # a copy to save
termios.error: (25, 'Inappropriate ioctl for device')

有什么方法可以解决这个问题吗?

3 个答案:

答案 0 :(得分:3)

在bash上这样:$ ./python_script < input.txt

修改 或者,您可以编写脚本以将ARGV作为文件名进行读取。您可以重新打开STDIN到该文件,而不必更改任何其他行。

答案 1 :(得分:1)

自via stdin中的响应:

猫回答| yourscript.py

答案 2 :(得分:0)

由于密码要求,我最终使用了 pexpect ,一个自动输入用户输入的python模块。