我在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')
有什么方法可以解决这个问题吗?
答案 0 :(得分:3)
在bash上这样:$ ./python_script < input.txt
修改强>
或者,您可以编写脚本以将ARGV
作为文件名进行读取。您可以重新打开STDIN
到该文件,而不必更改任何其他行。
答案 1 :(得分:1)
自via stdin中的响应:
猫回答| yourscript.py答案 2 :(得分:0)
由于密码要求,我最终使用了 pexpect ,一个自动输入用户输入的python模块。