分割されたファイルをさらに分割

1069 ワード

私は1つのシーケンスファイルを52個に分割しました.targetpはbtを比較することを要求しているので、各シーケンスファイルの数は1000以下でなければなりません.将来情報を処理しやすいように、私はどのようにファイルを少しずつ処理しますか?以下は私が処理したスクリプトです.1.最初のステップでは、52個のファイルに対してfungi_に52個のフォルダを作成します.data 2ディレクトリ.shellコマンドを直接使えばいいです.以下は命令ではありません.pythonを書いて0から51までの数字の文字列を生成し、コピーして貼り付けることができます.
mkdir 0~51

2.fungi_をdata 2ディレクトリの下にある52個のfileは、それぞれ52個のdirの下に置かれます.
import os
dir = 'fungi_data2'
for parent,dirnames,filenames in os.walk(dir):
    for i in range(52):
        f = dir+'/'+filenames[i]
        dir1 = dir+'/'+dirnames[i]
        os.system('mv '+f+' '+dir1)
        os.system('mv '+ dir1+' '+f)

3.52個のdirの中のファイルをそれぞれ切断し、並列処理する.
#!/bin/bash
start=`date +%s` #           

for dir in ~/huangle/fungi_annotation/fungi_data2/*
do
{
   cd $dir
   mv $dir/${dir##*/} $dir/1
   split -l 1000 $dir/1
   rm $dir/1

        echo 'success split '$dir' !';
 }&
done
wait
end=`date +%s`

echo "TIME:`expr $end - $start`"