2017-08-23 1 views
1

私は何千もの.wavファイルを持っています。私はscipy.io import wavfileから200を読みたいと思っています。これらの名前は、voice1、voice2、voice3、...というように付けられています。私はscipyを使ってvoice1-voice200を読んでみたい。scipyで多くのwavファイルを読むにはどうすればいいですか?

どちらが最速の方法ですか? forループを使用する必要がありますか?どのように私はループのためにそれを行うことができますか?

+0

どのような意味で「読み取り」とはどういう意味ですか?通常、ファイル全体をメモリに読み込まず、ファイルハンドラを使用してファイルの読み込みと処理を行う方がよいでしょう。 –

答えて

1

同じことを何度も繰り返しているときは、forループを使用する必要があります。

あなたは、ディレクトリ内のすべての.wavファイルを取得したい場合は、あなたがこの回答をご覧ください:答えは.WAVで終わるすべてのファイルを反復処理するループのためにあなたに与えること

How to read only wav files in a directory using Python?

;しかし、あなただけのwavファイルで終わるすべてのファイルを取得する必要はありません:あなたはすでにファイルの名前を知っている、とあなたはそれら

import glob 
from scipy.io.wavfile import read 
wavs = [] 
    for i in range(1,200): 
     wavs.append(read('voice' + str(i) + '.wav')) 

を通じてVOICE1から反復処理するコードのこのブロックを反復します。 wavを現在のディレクトリのvoice200.wavにコピーし、読み込んだ.wavをwavsの配列に追加します。配列内の要素を印刷したい場合は、次のようなことができます。

for wav in wavs: 
    print(wav) 
関連する問題