2012-10-15 18 views
0

我开始了一个项目。在该指令,它是写,我们可以使用此命令行测试我们的程序:如何重定向`cat`来模拟linux中的用户输入

猫的test.txt> test.py

但我没有输出。根据我的理解,它应该给我一个输出。

test.txt文件看起来像:

1 
3 
4 
2 
5 
6 
7 
1 
1 
8 
9 
3 
4 
5 
1 
-1 

而且test.py文件看起来像:

for i in range(16): 
    var=raw_input("type something : ") 
    print var 

我这个除外命令行test.txt文件的内容重定向到运行时的test.py文件。

我已阅读关于cat命令的文档。

请问您能帮我吗?

换句话说,cat命令应该如何模拟用户?我想我必须改变我的python文件中的东西。

预先感谢, MFF

+5

你刚刚吹走了test.py ...你想用“|”而不是“>” – sjr

+2

你试过搜索吗? http://stackoverflow.com/questions/9708484/python-use-input-from-another-command?rq=1 – muratgu

+0

是的,就是这样。对不起,我无法自己形象化:)。谢谢 ! –

回答

6

这里的问题是,你要cat test.txt | test.py而非>|将一个命令(cat test.txt)的输出发送到另一个命令(test.py)的输入,而>将输出发送到一个文件(这可能意味着您用test.txt的内容覆盖了test.py )。

+0

谢谢。这现在更加清晰:)! –