0
extract_dir
에 archive
의 내용을 압축 해제하는 코드가 있습니다. 그러나 추출 된 파일 경로를 가져 오는 방법을 알아낼 수 없습니다. & 추출 된 파일의 이름입니다.Python ZipFile이 파일 경로와 이름을 추출했습니다.
if archive.endswith((".zip")):
zip_ref = zipfile.ZipFile(archive, 'r')
zip_ref.extract(extract_dir)
zip_ref.close()
는 예를 들어, 아카이브 test.zip
라고하며 ZipFile에이 내용이 내가 변수에 C:/windows/users/admin/downloads/test.exe
을 얻을 원하는 test.exe
추출?
편집 : 죄송합니다. zipfile에 대한 소스 코드에서 명확하지 않았습니다. 어떻게 얻을 수 있는지 궁금합니다.
zip에 여러 파일이 있으면 어떻게됩니까? –
그건 zipfile 문제가 아닙니다. 특정 위치로 파일을 추출한 경우 (그리고 분명히 위치를 알고있는 경우) 파일을 가져 오려면, 예를 들어 다음과 같이해야합니다. 'os.walk'을 사용하여 모든 파일을 데이터 구조로 가져옵니다. – nir0s
'path' 인수를'ZipFile.extract'에 지정하지 않으면 아카이브 멤버가 현재 작업 디렉토리로 추출됩니다. ['zip_ref.namelist()'] (https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.namelist)를 사용하여 이름으로 아카이브 멤버 목록을 가져올 수 있습니다. –