zipfile로 어떤 압축파일을 해제할때 .zip 파일내에 또다른 폴더가 있고 그안에 또다른 폴더가 있는 상황이였다,
이때 원하는 파일만 추출하는 방법을 알아봤는데, 결론은 다음과 같다.
1) 압축을 해제한다.
2) 압축 해제 후 해당 경로의 파일을 os.rename으로 이동한다.
3) 끝.
딱, 그 부분만 압축해제를 하고 싶은데 도저히 방법을 모르겠다.chatGPT도 이상한 얘기만 한다 ㅠㅠ
다음은 예시이다.
import os
zip_file_path = "압축파일의 경로.zip" #ex) ./my_zipfile.zip
extract_dir = "압축해제되는 파일의 위치" #ex) ./folder/location
with zipfile.ZipFile(zip_file_path, 'r') as zipObj:
listOfFileNames = zipObj.namelist()
for fileName in listOfFileNames:
print(fileName)
#아래 if문은 압축파일안에 내가 원하는 파일이 있는지 체크하는 부분이다.
if fileName.endswith("확장자"):
file_name = os.path.basename(fileName) # 파일 이름만 추출
hyper_extract_path = os.path.join(extract_dir)
zipObj.extract(fileName, hyper_extract_path)
os.rename(os.path.join(extract_dir, fileName), '파일을 이동시키고 싶은 위치')
결론은 압축해제된 파일을 -> '파일을 이동 시키고 싶은 위치.확장자'로 파일명 변경 + 위치 변경을 시켜주는거다.
'프로그래밍 > Python' 카테고리의 다른 글
[Chromedriver]unknown error: DevToolsActivePort file doesn't exist (0) | 2023.07.11 |
---|---|
[Python]global 변수 선언하기 (0) | 2023.05.25 |
[요즘 핫한]ChatGPT를 python에서 사용하는 방법 (0) | 2023.02.15 |
[Python]specified google ads api version "V{}" does not exist -Solved (0) | 2023.02.07 |
[Python] pandas NaN값 처리하기 (0) | 2023.01.16 |