在python中重定向控制台输出

时间:2015-06-08 06:19:56

标签: python redirect expect

我正在开发一个项目,我从 Expect 脚本调用python脚本。 python脚本运行CLI。我想更改“print”语句的默认行为,将一些字符串发送到Expect脚本,而不是将其发送到终端,以便我可以根据要打印的字符串执行任务。 1)有可能吗? 目前我正在使用以下Expect脚本

spawn -noecho ./add.exp
set id1 $spawn_id
spawn -noecho ./sub.exp
set id2 $spawn_id
spawn -noecho ./mul.exp
set id3 $spawn_id
spawn -noecho ./div.exp
set id4 $spawn_id
spawn -noecho python cli.py
set id $spawn_id
interact {
    -input $id -output $user_spawn_id
    -o
    -input $id "add" {
    return
    send -i $id "add\r"
    -input $id1 -output $id
    -input $id -output $user_spawn_id
    }
    -input $id "sub" {
    return
    send -i $id "sub\r"
    -input $id2 -output $id
    -input $id -output $user_spawn_id
    }
    -input $id "mul" {
    return
    send -i $id "mul\r"
    -input $id3 -output $id
    -input $id -output $user_spawn_id
    }
    -input $id "div" {
    return
    send -i $id "div\r"
    -input $id4 -output $id
    -input $id -output $user_spawn_id
    }
    -input $id -output $user_spawn_id
    -input $user_spawn_id -output $id
}

在python脚本中,我只是打印“添加”字符串。

2)如果不可能,那么我该如何实现上述任务呢?

3)由于我是Expect的新手,我的代码可能会出现一些错误。

请帮帮我..

0 个答案:

没有答案