我如何使用< >我的程序中的命令?

时间:2013-12-31 00:28:33

标签: python shell command-line

我编写了一个程序来计算输入文件中每个单词的计数。目前我使用sys.argv [1]获取文件名,但实际上我应该使用

python word_counts.py < homer.txt > homer.test

我认为homer.txt是指向我的python脚本的输入文件,而homer.test是我的脚本输出写入的文件。

如何在我的程序中完成这些工作?

2 个答案:

答案 0 :(得分:3)

homer.txt中的信息在标准输入中提供。在python中,这是一个名为sys.stdin的文件句柄:

import sys
for line in sys.stdin: # reads from homer.txt
    # process line
    print(output) # writes to homer.test

homer.test正在从标准输出中收集数据。在python中,print语句默认写入stdout。如果要将其明确视为文件句柄,可以使用sys.stdout

答案 1 :(得分:3)

使用sys.stdin读取homer.txt和sys.stdout(或print)以写入homer.test。