file123.zip
이라는 파일의 압축을 풀어 zipfile.ZipFile
으로 압축 해제하면 압축이 풀린 파일이 알려진 경로에 저장됩니다. 그러나이 압축 해제 된 파일은 완전히 임의의 이름을가집니다. 이 무작위 파일 이름을 어떻게 결정합니까? 또는 압축을 푼 파일의 이름을 제어하는 방법이 있습니까? 파이썬에서 이것을 구현하려고합니다.압축 해제 된 파일의 파일 이름 확인
0
A
답변
0
"임의" 나는 파일 이름이 임의로 지정되었다고 가정합니다.
파일을 압축 해제하고 내용을 바이트 문자열로 반환하는 ZipFile.read()
을 사용할 수 있습니다. 그런 다음 해당 문자열을 선택한 명명 된 파일에 쓸 수 있습니다.
from zipfile import ZipFile
with ZipFile('file123.zip') as zf:
for i, name in enumerate(zf.namelist()):
with open('outfile_{}'.format(i), 'wb') as f:
f.write(zf.read(name))
이렇게하면 아카이브의 각 파일이 현재 디렉토리의 output_n
파일에 기록됩니다. 아카이브에 포함 된 파일의 이름은 ZipFile.namelist()
으로 얻습니다. 나는 파일 이름을 생성하는 간단한 방법으로 enumerate()
을 사용했지만, 당신이 필요로하는 어떤 명명 체계로 그것을 대체 할 수 있습니다.
0
파일 이름이 완전히 임의 인 경우 먼저 os.listdir()을 사용하여 특정 디렉토리의 모든 파일 이름을 확인할 수 있습니다. 이제 파일 이름을 알고 원하는대로 할 수 있습니다.
자세한 내용은 this 항목을 참조하십시오.
압축을 푼 파일의 이름이 압축되지 않은 파일입니까? – DavidG
아니요. 그리고 내가 말하고자했던 것은 압축되지 않은 파일 이름이 임의적이지 않고 임의적이라는 것입니다. @mhawke가 아래에 말했습니다. – iknowfrench
@iknowfrench :이 경우 문제를 해결하지 못하는 내 대답에 대해 뭔가가 있습니까? 자신의 파일 이름을 선택할 수 있으며 파일 이름은'namelist()'에서 사용할 수 있습니다. – mhawke