我有一个 python 程序,它将文件作为 std 输入的输入,对数据运行一些计算,并将结果输出到 std 输出。这是我用于获取输入文件的代码:
import math
import sys
name = sys.argv[-1]
inf = open(name, 'r')
outf = open("test.txt", 'w')
col1, col2, col3 = [], [], []
for row in inf:
a, b, c = row.split('\t')
col1.append(a)
col2.append(b)
col3.append(c)
我需要创建一个 shell 脚本来执行程序并提供输入文件。理想情况下,shell 脚本应该可以工作,以便可以按如下方式使用:
$ cat inputfile.txt | scriptname
和/或
$ ./scriptname < inputfile
我已经尝试了几个不同的基本 shell 脚本,但没有任何运气让它工作。我将不胜感激有关如何制作此脚本和/或如何修改我的 python 代码以使其工作的任何建议。谢谢!
如果有帮助,我相信我在 mac osx 10.8 上使用 python 2.7.3
PS这实际上是我的第一次编程经验(我开始学习python只是为了这个项目)所以请原谅蹩脚的代码。