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