Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import glob
- import shutil
- import zipfile
- usbFoloder = glob.glob('f:\\*') # 폴더의 내용들을 리스트로 Return
- usbFoloder.reverse() # 오름차순으로 되어있는 List를 내림차순으로 변경
- src = usbFoloder[0] # 압축 파일 없는 상태에서 폴더의 첫번째
- name = str(usbFoloder[0]) + '.zip' # 첫번째 리스트를 문자열로 바꾸고 압축 파일 이름으로 바꿈
- dest = 'C:\\Users\\user\\Desktop\\작업' # 파일 복사할 위치
- # 파일 복사 함수.
- def copyusbtolocal(src, dest):
- shutil.copy2(src, dest)
- print('Copy Complete')
- # 방법 1. 폴더 이동과 함께 기존의 폴더 사라짐.
- # 폴더 이동시 shutil.move(src, dest) 사용하지만
- # 현재 압축 파일을 복사하는 것이기에 copy2 사용
- def zip(src,dest):
- with zipfile.ZipFile(dest, 'w', zipfile.ZIP_DEFLATED) as zf:
- for root, dirs, files in os.walk(src):
- for file in files:
- zf.write(os.path.join(root, file))
- zf.close()
- print('Compress Complete')
- if __name__=='__main__':
- zip(src, name) # Reverse 로 인하여 가장 첫번째에 정렬된 리스트를 압축
- copyusbtolocal(name, dest)
- '''
- # 파일 복사가 정상적으로 이루어지지만 목적지의 폴더가 지워졌다가 생성됨.
- # 해당 폴더에 다른 내용이 있을 수 있기에 적용 보류
- if os.path.exists(dest):
- shutil.rmtree(dest)
- shutil.copytree(src, dest)
- '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement