我在Linux(Ubuntu 11.10)机器上运行;伯恩再次壳。在许多文件上运行python脚本的问题
我必须用python脚本处理一个完整的文件目录。我的同事编写了python脚本,并且我之前成功地将它用于一个文件。它有两个参数:一个用引号括起来的文件处理路径和一个名为-min
的二级参数,它需要一个整数。此外,脚本写入标准输出。
从我的shell脚本的经验,在这个论坛上跟随他人,我用下面的方法来遍历文件的目录:
for f in path/to/data_directory/*; do
path/to/pythonscript.py $f -min 1 > path/to/out_directory/$f;
done
我得到的out_directory
所需的文件名。每个内容都是只有python脚本可以编写的内容。也就是说,上面的for循环成功地将文件传递给脚本。但是,每个文件内容的性质都是完全错误的(如脚本所做的计算错误)。当我在data_directory
中的一个文件上运行python脚本时,输出文件具有正确的内容(由脚本执行的计算是正确的)。
让它更复杂的事情是,同样的shell方法(for
循环)在我的同事的Mac OS X中完美工作。
问题在哪里?我是否缺少一些关于Linux shell的基础知识?也许这是一个语法错误?
任何帮助将不胜感激。
更新:我只是再次运行for循环,但不是将它指向文件的data_directory,而是将它指向data_directory中的文件。我有同样的问题 - python脚本没有计算出正确的结果。
Upvote究竟是什么? – 2012-08-13 04:17:52
您为单个文件运行的命令是什么?请给我们一个例子。 – Yamaneko 2012-08-13 04:33:13
'path/to/pythonscript.py'path/to/data_directory/10000.original_indels.ss'-min 1> path/to/out_directory/10000.original_indels.ss' – nnarula 2012-08-13 04:34:27