해야할 작업은 아래 1번 구조의 폴더를 압축을 풀어 2번 구조의 형태로 만들어야 하는 작업이었습니다.
폴더마다 압축파일이 존재해서 일일이 압축을 풀고 파일을 옮겨야 하는 반복 작업이 필요했습니다. 그래서 파이썬으로 자동화하려고 마음먹었습니다.
os
os.getcwd
: 현재 경로를 리턴합니다.os.path.join
: 인자를 조합해 각 os에 맞는 경로를 리턴합니다.os.chdir
: 인자로 주어진 경로로 이동합니다.os.listdir
: 현재 경로의 모든 항목을 리턴합니다.os.remove
: 해당 파일을 삭제합니다.sys
$ python unzip_files.py target_file.zip
sys.argv
: python
명령어의 인자들을 리스트로 갖습니다.sys.argv
는 ['unzip_files.py', 'target_file.zip']
과 같은 값을 갖게 됩니다.zipfile
with zipfile.ZipFile(target_file) as unzip:
unzip.extractall(result_dir)
target_file
이 .zip 파일이고, result_dir
은 압축이 풀린 결과가 담길 디렉토리입니다.shutil
shell util의 줄임말인듯 합니다. 그래서 그런지 사용법 또한 쉘 스크립트와 비슷하네요.
shutil.move(src, des)
: 첫 번째 인자의 파일을 des
로 이동합니다.shutil.rmtree
: 디렉토리를 삭제합니다.각 모듈의 사용법만 숙지한다면 만들기 어려운 작업은 아닙니다. 처음 작성할 당시 거의 모든 모듈의 사용법을 찾아가며 작업했는데도 1시간 정도 걸려 코드를 완성한 듯 합니다. 그냥 노가다로 작업했다면 5~10분만에 다 했겠지만, 많은 분들이 같은 작업을 해야했고, 앞으로도 자주 이 작업을 해야 하기 때문에, 자동화작업이 충분히 가치 있다고 판단하였습니다. 나중에 동료분들께서 고맙다고 해 주는데 기분이 좋았습니다.
처음엔 osx에서만 동작하도록 작성했는데, os.path.join
을 가미해서 windows에서도 동작하도록 수정하면서 리팩토링과 포스팅을 하기로 마음먹었습니다. 혹시 필요하실 분들의 도움이 되기를 바랍니다.
The appeal of Call Girl in Delhi is not only in their appearance but also in their charming personalities. They are great conversationalists who can engage clients on different topics, which makes the experience even better.
지나가다가 들렸어요~번창하세요♡