2017-05-03 6 views
0

필자는 해시를 계산할 수 있도록 zip 파일을 가리키는 luigi.LocalTarget을 열려고합니다. 불행히도, 내가 그것을 읽으려고 할 때, 나는 그것이 바이너리 파일로 열리지 않는다는 것을 의미한다고 가정하는 UnicodeDecodeError를 얻는다.이진 읽기 모드에서 luigi.LocalTarget 열기 (디코딩 오류)

나는 (루이지없이)이 작업을 수행 할 수 있으며, 그것을 잘

file_path = luigi.LocalTarget('myfile.zip') 
with open(file_path, 'rb') as f: 
    data = f.read(1048576) 

작동하지만이

target = luigi.LocalTarget(file_path) 
with target.open('rb') as f: 
    data = f.read(1048576) 

을한다면 나는 파이썬을 사용하고이

--------------------------------------------------------------------------- 
UnicodeDecodeError      Traceback (most recent call last) 
<ipython-input-28-5240759ed677> in <module>() 
     1 target = luigi.LocalTarget(file_path) 
     2 with target.open('rb') as f: 
----> 3  data = f.read(1048576) 

/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/codecs.py in decode(self, input, final) 
    319   # decode input (taking the buffer into account) 
    320   data = self.buffer + input 
--> 321   (result, consumed) = self._buffer_decode(data, self.errors, final) 
    322   # keep undecoded input until the next call 
    323   self.buffer = data[consumed:] 

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 10: invalid continuation byte 

를 얻을 수 3.6 및 luigi 2.6.1.

답변