En la era moderna de Internet, una gran cantidad de tareas mundanas o relacionadas con el trabajo se llevan a cabo a través de Internet. El compromiso de los datos almacenados en un dispositivo podría causar un daño masivo a un individuo/empresa. Teniendo en cuenta el aumento en la cantidad de malware, virus, gusanos, caballos de Troya, etc., la seguridad de los datos en reposo se ha convertido en una preocupación para muchas personas.
Una de las formas más comunes de proteger los datos es creando una copia de seguridad de los mismos. Si bien las copias de seguridad brindan cierta protección a los datos críticos, deben ubicarse lejos de los datos originales. De tal manera que incluso si el sistema que contiene los datos originales se ve comprometido de alguna manera, los datos de respaldo aún estarían seguros. El almacenamiento en la nube es una tecnología construida para cumplir ese propósito.
Cualquier persona que tenga una cuenta de Google puede usar 15 Gigabytes de almacenamiento gratuito en la nube para almacenar sus datos. Esto resuelve el problema de una copia de seguridad externa. Pero cargar datos de archivos cada vez puede ser un poco engorroso. Entonces, para facilitar ese proceso, crearemos un programa de python que busque dentro de un directorio y cargue cualquier archivo dentro de él a nuestra cuenta de Google Drive.
Para este propósito, usaremos la pydrive
biblioteca. Este módulo no está precargado con python. Entonces, para instalarlo, ejecute el siguiente comando en la línea de comandos:
pip install pydrive
Crear credencial de OAuth
Para autenticarnos con éxito en nuestra cuenta de Google cada vez que queramos cargar algunos datos, debemos crear una credencial de OAuth .
Después de completar el método anterior, terminaríamos con un archivo con un nombre similar a client_secret_(really long ID).json . Cambie el nombre del archivo a » client_secrets.json » y colóquelo en el mismo directorio donde se creará el programa principal de python.
Código
from pydrive.drive import GoogleDrive from pydrive.auth import GoogleAuth # For using listdir() import os # Below code does the authentication # part of the code gauth = GoogleAuth() # Creates local webserver and auto # handles authentication. gauth.LocalWebserverAuth() drive = GoogleDrive(gauth) # replace the value of this variable # with the absolute path of the directory path = r"C:\Games\Battlefield" # iterating thought all the files/folder # of the desired directory for x in os.listdir(path): f = drive.CreateFile({'title': x}) f.SetContentFile(os.path.join(path, x)) f.Upload() # Due to a known bug in pydrive if we # don't empty the variable used to # upload the files to Google Drive the # file stays open in memory and causes a # memory leak, therefore preventing its # deletion f = None
El código anterior al ejecutarse ejecuta una instancia del navegador predeterminado de su sistema operativo. Luego solicita permisos a pydrive para acceder a su cuenta de Google Drive. Cuando se otorgan todos los permisos deseados, el navegador muestra un mensaje
El flujo de autenticación se ha completado.
Después de lo cual se inicia el proceso de carga de archivos a Google Drive.
Ciertas cosas a tener en cuenta al usar el programa anterior: –
- Asegúrese de que «client_secrets.json» esté dentro del mismo directorio que el programa Python
- El directorio ( ruta ) no debe contener ningún subdirectorio dentro de él
- Su Google Drive debe tener suficiente espacio vacío para incorporar nuevos archivos
- Los nuevos archivos se crearán en la raíz del almacenamiento de Google Drive.