需要写一段代码,在linux终端中执行一个工具,并填写它的问题,例如有一个叫xyztool的工具,它有两个标志"-H "表示远程IP地址,"-U "表示获取用户名。
例如有一个叫xyztool的工具,它有两个标志"-H "代表远程IP地址,"-U "代表获取用户名。旧密码, 新密码 和 重新输入新密码.
我想写一个执行工具的代码,然后自动一个个输入。
$ xyztool -U admin
Old password: ****
New password: *****
Retype New password: *****
这是我已经写好的,但是我真的不知道如何使用IO模块,所以我只是试了一下!我想写一段代码,在linux终端执行一个工具,然后自动一个一个的输入。
#!/usr/bin/env python3
import subprocess
import sys
import io
def main_cmds():
'''execute xyztool and fill its prompts out'''
cmds = subprocess.call(["xyztool", "-H", "172.16.10.10", "-U", "admin"])
print(main_cmds())
def go_run():
f1 = sys.stdin
f = io.StringIO('oldP@ssw0rd')
sys.stdin = f
main_cmds()
f.close()
sys.stdin = f1
print(go_run())