반원 블로그

[파이썬 레시피 - 웹 활용 입문편] 05. 구글 드라이브 - C. 구글 드라이브 업로드 본문

2018~/파이선 레시피 웹 활용 입문편

[파이썬 레시피 - 웹 활용 입문편] 05. 구글 드라이브 - C. 구글 드라이브 업로드

반원_SemiCircle 2019. 6. 29. 15:37

업로드 전용 폴더 생성

기왕이면 gdrive로 업로드 할 전용 폴더를 생성해봅시다. 그것도 gdrive 명령어를 통해서요.

import os

# os.system('gdrive list')
# os.system('gdrive about')

os.system('gdrive mkdir GDRIVE')#폴더 생성

여기서 출력되는 폴더ID는 해당 폴더의 고유번호(사람으로치면 주민등록번호)와 같아서, 앞으로 해당 폴더에 업로드 또는 다운로드를 하려면 이 고유 폴더ID를 이용해야합니다.

이미 생성한 상태라면 gdrive list를 명령어를 통해서 확인할 수 있습니다.

파일 업로드

업로드할 파일은 무엇이든 상관없습니다.
사실 gdrive 가 재공하는 명령어를 이용하는 것이라 os.system으로 대부분 해결합니다.
gdrive upload 명령어 문서 : https://github.com/gdrive-org/gdrive#upload-file-or-directory
같은 폴더가 아닌 다른 폴더에 있는 파일이라면 파일명앞에 파일경로를 추가해주세요.

import os

# os.system('gdrive list')
# os.system('gdrive about')

# os.system('gdrive mkdir GDRIVE')#폴더 생성
os.system('gdrive  upload  --parent 폴더ID  파일명.확장자') #업로드 코드

나중 활용을 위해 업로드 파일명과 폴더ID를 변수로 분리시켜봅시다.

import os

# os.system('gdrive list')
# os.system('gdrive about')

# os.system('gdrive mkdir GDRIVE')#폴더 생성
# os.system('gdrive  upload  --parent 폴더ID 파일명.확장자') #업로드 코드
fileName = input("Filename? : ")
gdriveID = "폴더ID"

uploadCommand = "gdrive  upload  --parent  {0}  {1}".format(gdriveID,fileName)
os.system( uploadCommand )

업로드 후 자동 삭제

경우에 따라서 업로드 이후 자동으로 삭제를 구현하고 싶을 수 있습니다.
이 때는 옵션에 --delete만 추가하면 됩니다.

import os

# os.system('gdrive list')
# os.system('gdrive about')

# os.system('gdrive mkdir GDRIVE')#폴더 생성
# os.system('gdrive  upload  --parent 폴더ID 파일명.확장자') #업로드 코드
fileName = input("Filename? : ")
gdriveID = "폴더ID"

uploadCommand = "gdrive  upload  --parent  {0}  {1} --delete".format(gdriveID,fileName)
os.system( uploadCommand )
Comments