Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. import os
  2. import glob
  3. import shutil
  4. import zipfile
  5.  
  6. usbFoloder = glob.glob('f:\\*') # 폴더의 내용들을 리스트로 Return
  7. usbFoloder.reverse() # 오름차순으로 되어있는 List를 내림차순으로 변경
  8. src = usbFoloder[0] # 압축 파일 없는 상태에서 폴더의 첫번째
  9. name = str(usbFoloder[0]) + '.zip' # 첫번째 리스트를 문자열로 바꾸고 압축 파일 이름으로 바꿈
  10. dest = 'C:\\Users\\user\\Desktop\\작업' # 파일 복사할 위치
  11.  
  12. # 파일 복사 함수.
  13. def copyusbtolocal(src, dest):
  14. shutil.copy2(src, dest)
  15. print('Copy Complete')
  16. # 방법 1. 폴더 이동과 함께 기존의 폴더 사라짐.
  17. # 폴더 이동시 shutil.move(src, dest) 사용하지만
  18. # 현재 압축 파일을 복사하는 것이기에 copy2 사용
  19.  
  20.  
  21. def zip(src,dest):
  22. with zipfile.ZipFile(dest, 'w', zipfile.ZIP_DEFLATED) as zf:
  23. for root, dirs, files in os.walk(src):
  24. for file in files:
  25. zf.write(os.path.join(root, file))
  26. zf.close()
  27. print('Compress Complete')
  28.  
  29. if __name__=='__main__':
  30. zip(src, name) # Reverse 로 인하여 가장 첫번째에 정렬된 리스트를 압축
  31. copyusbtolocal(name, dest)
  32.  
  33. '''
  34. # 파일 복사가 정상적으로 이루어지지만 목적지의 폴더가 지워졌다가 생성됨.
  35. # 해당 폴더에 다른 내용이 있을 수 있기에 적용 보류
  36. if os.path.exists(dest):
  37. shutil.rmtree(dest)
  38.  
  39. shutil.copytree(src, dest)
  40. '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement