2016-08-27 7 views
3

私のプロジェクトでLuigiパイプラインにバイナリLocalTargetを書くのに苦労しています。Luigi LocalTargetバイナリファイル

class LuigiTest(luigi.Task): 
    def output(self): 
     return luigi.LocalTarget('test.npz') 

    def run(self): 
     with self.output().open('wb') as fout: 
      np.savez_compressed(fout, array=np.asarray([1, 2, 3])) 

は、私が'w''wb'ように、開口部を試してみましたが、私は次のエラーを取得しておく::私はここでの問題を分離私のpython 3.5.1を使用しています

TypeError: write() argument must be str, not bytes 

とルイージの私のバージョンは2.1です。 1

答えて

3

問題は、LocalTargetの形式にありました。変更する:

return luigi.LocalTarget('test.npz', format=luigi.format.Nop) 

解決済みです。しかし、これについてはドキュメントには何もありませんでした。

+0

ありがとう、それは非常に便利でした – bendaizer