2
나는 나는 다음과 같은 명령을 사용하여 리눅스에서 압축을 해제 할 수있는 파일을 가지고? 내가 python3과 tar 파일 모듈을 사용하여 다음을 수행하는 경우 : ReadError ('잘못된 헤더') : 데이터 만 들어 있지만 파일 이름은없는 파이썬으로 xz 파일의 압축을 푸는 방법은 무엇입니까? 나도 같은 사용하여 파이썬을 할 수있는 방법</p> <pre><code>unxz <file.xz> file.txt </code></pre> <p>:
import sys
import tarfile
try:
with tarfile.open('temp.xz', 'r:xz') as t:
t.extract()
except Exception as e:
print("Error:", e.strerror)
나는 예외를 얻을. 그래서 분명히 xz 파일에 존재하지 않는 파일이나 디렉토리 정보를 기대합니다.
그럼 어떻게 헤더 정보없이 파일을 압축 해제 할 수 있습니까?
우수합니다. 완벽하게 작동합니다. –
이것은 바이너리 형식의 데이터를 제공합니다. 전체 파일을 압축 해제하는 빠른 방법이 있습니까? 예를 들어 "test.txt.xz"파일이 있고 "test.txt"를 가져 오는 명령이 필요합니다. 한 가지 방법은이 방법으로 데이터를 utf-8로 변환하는 것입니다 :'binary_data_buffer = lzma.open ('test.txt.xz'). read()','string_buffer = binary_data_buffer.decode ('utf -8 ')'마지막으로 파일에 기록합니다. 그러나 나는 이것을하기위한보다 우아한 방법이 있다고 확신한다. – Pete
@Pete,'lzma.open ('test.txt.xz'). read(). decode ('utf-8')'가 너무 많아요? 즉,'lzma.open ('test.txt.xz', mode = 'rt', encoding = 'utf-8')'을 전달하여 멀티 바이트 문자 디코딩을 즉시 사용할 수 있습니다. –