我在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