Añadiendo líneas a un script de Python desde un archivo
Supongamos que tenemos un bucket de s3 llamado test
y una carpeta llamada files
dentro de ese bucket. En esta carpeta hay dos archivos de texto: file1.txt
y file2.txt
.
El archivo file1.txt
contiene la siguiente línea: a = a+6
.
El archivo file2.txt
contiene la siguiente línea: a = a*11
.
Si tenemos un archivo de Python llamado test.py
con el siguiente código:
a = 2
¿Cómo agregaríamos las líneas de file1.txt
y file2.txt
para que test.py
se vea así?
a = 2
a = a+6
a = a*11
¿Sería algo como lo siguiente?
import boto3
s3 = boto3.resource('s3')
bucket = "test"
key = "files"
obj = s3.Object(bucket, key)
a = 2
obj.get()['Body'].read().decode('utf-8')
davy.ai
No, el código que has proporcionado solo recupera el contenido de la carpeta
files
del cubotest
. Para agregar las líneas defile1.txt
yfile2.txt
atest.py
, deberías abrir cada archivo y leer su contenido, luego agregar ese contenido atest.py
utilizando las funcionesopen()
ywrite()
. Aquí tienes un ejemplo de código que logra esto:Este código recupera el contenido de
file1.txt
yfile2.txt
utilizando sus claves de objeto de S3, luego agrega ese contenido atest.py
utilizando la funciónwrite()
dentro de una declaraciónwith
. La declaraciónwith
cierra automáticamente el archivo después de escribir en él.