Importa archivos a Python por google
Importa archivos a Python
Ya exploraste cómo abrir archivos en Python, convertirlos en cadenas y leerlos. Ahora, revisarás cuál es la sintaxis necesaria para este proceso. También aprenderás por qué es importante que los analistas de seguridad que utilizan Python puedan trabajar con archivos, y te familiarizarás con la escritura en archivos.
Cómo trabajar con archivos en ciberseguridad
Al trabajar en Python, es posible que los analistas de seguridad necesiten acceder a varios archivos. Muchos de estos archivos serán registros. Un registro (o log) es un inventario de los eventos que se producen en los sistemas de una organización.
Por ejemplo, puede haber un registro que contenga información sobre los intentos de inicio de sesión. Esto podría usarse para identificar actividades inusuales que indiquen que un agente de amenaza intentó acceder al sistema.
También puede suceder que los actores de amenaza que violaron el sistema sean capaces de atacar las aplicaciones de software. Un analista podría necesitar acceder a un registro que contiene información sobre las aplicaciones de software que están experimentando problemas.
Cómo abrir archivos en Python
Para abrir un archivo llamado "update_log.txt" en Python con el fin de leerlo, puedes incorporar la siguiente línea de código:
with open("update_log.txt", "r") as file:
Esta línea incluye la palabra clave with, la función open() con sus dos parámetros y la palabra clave as seguida del nombre de una variable. Debes colocar dos puntos (:) al final de la línea.
with
La palabra clave with maneja los errores y gestiona los recursos externos cuando se utiliza con otras funciones. En este caso, se utiliza con la función open() para abrir un archivo. Luego, gestionará los recursos al cerrar el archivo después de salir de la sentencia with.
Nota: También puedes usar la función open() sin la palabra clave with. Sin embargo, debes cerrar el archivo que abriste para garantizar el manejo adecuado del archivo.
open()
La función open() abre un archivo en Python.
El primer parámetro identifica el archivo que deseas abrir. En la siguiente estructura de archivos, "update_log.txt" se encuentra en el mismo directorio que el archivo Python al que accederá, "log_parser.ipynb":
Debido a que están en el mismo directorio, solo se requiere el nombre del archivo. El código se puede escribir como with open("update_log.txt", "r") as file:.
Sin embargo, "access_log.txt" no se encuentra en el mismo directorio que el archivo de Python "log_parser.ipynb". Por lo tanto, es necesario especificar su ruta de archivo absoluta. Una ruta de archivo es la ubicación de un archivo o directorio. Una ruta de archivo absoluta comienza desde el directorio de nivel más alto, la raíz, o root. En el siguiente código, el primer parámetro de la función open() incluye la ruta absoluta del archivo a "access_log.txt":
with open("/home/analyst/logs/access_log.txt", "r") as file:
Nota: En Python, los nombres de los archivos o sus rutas de archivo se pueden manejar como cadenas y, como todos las cadenas, se las debe colocar entre comillas.
El segundo parámetro de la función open() indica lo que deseas hacer con el archivo. En ambos ejemplos, el segundo parámetro es "r", que indica que deseas leer el archivo. Alternativamente, puedes usar "w" si lo que quieres es escribir en un archivo o "a" si quieres anexar a un archivo.
as
Al abrir un archivo con with open(), tienes que proporcionar una variable que pueda almacenar el archivo mientras está dentro de la sentencia with. Puedes hacerlo mediante la palabra clave as seguida de este nombre de variable. La palabra clave as asigna una variable que hace referencia a otro objeto. El código with open("update_log.txt", "r") as file: asigna file para que haga referencia a la salida de la función open() dentro del bloque de código sangrado (con sangría) que lo sigue.
Cómo leer archivos en Python
Después de usar el código with open("update_log.txt", "r") as file: para importar "update_log.txt" en la variable file, debes indicar qué hacer con el archivo en las líneas sangradas (con sangría) que lo siguen. Por ejemplo, este código utiliza el método .read() para leer el contenido del archivo:
with open("update_log.txt", "r") as file:
updates = file.read()
print(updates)
El método .read() convierte los archivos en cadenas. Esto es necesario para usar y mostrar el contenido del archivo que se leyó.
En este ejemplo, la variable file se utiliza para generar una cadena del contenido del archivo mediante .read(). Luego, esta cadena se almacena en otra variable llamada updates. Luego de esto, print(updates) muestra la cadena.
Una vez que el archivo se lee en la cadena updates, puedes realizar las mismas operaciones que puedes hacer con cualquier otra cadena. Por ejemplo, puedes usar el método .index() para devolver el índice en el que un cierto carácter o subcadena en concreto aparece. También puedes usar len() para devolver la longitud de esta cadena.
Cómo escribir archivos en Python
Es posible que los analistas de seguridad también necesiten escribir en archivos. Esto podría ocurrir por diversas razones. Por ejemplo, quizás necesiten crear un archivo que contenga los nombres de usuario aprobados en una nueva lista de permisos. O bien, podrían tener que editar los archivos existentes para agregar datos o cumplir con las políticas de estandarización.
Para escribir en un archivo, deberás abrir el archivo con "w" o "a" como el segundo argumento de open().
Cuando quieras reemplazar el contenido de un archivo existente, debes usar el argumento "w". Al trabajar con el archivo existente update_log.txt, el código with open("update_log.txt", "w") as file: lo abre para que se pueda reemplazar su contenido.
Además, puedes usar el argumento "w" para crear un archivo nuevo. Por ejemplo, with open("update_log2.txt", "w") as file: crea y abre un archivo nuevo llamado "update_log2.txt".
Si lo que quieres es agregar información nueva al final de un archivo existente en lugar de escribir sobre él, debes usar el argumento "a". El código with open("update_log.txt", "a") as file: abre "update_log.txt" para que se pueda añadir nueva información al final. La información existente no se eliminará.
Cuando abres un archivo para escribir en él, debes indicar qué hacer con el archivo en las líneas sangradas que siguen, al igual que al abrir un archivo para leerlo. Tanto con "w" como con "a", puedes usar el método .write(), que escribe cadenas a un archivo especificado.
El siguiente ejemplo utiliza el método .write() para anexar el contenido de la variable line al archivo "access_log.txt".
line = "jrafael,192.168.243.140,4:56:27,True"
with open("access_log.txt", "a") as file:
file.write(line)
Nota: Llamar al método .write() sin usar la palabra clave with al importar el archivo puede hacer que los argumentos no se escriban por completo en el archivo si este no se cierra correctamente de otra manera.
Conclusiones clave
Es importante que los analistas de seguridad puedan importar archivos a Python y, luego, leerlos o escribirlos. La importación de archivos en Python implica el uso de la palabra clave with, la función open() y la palabra clave as. Leer y escribir en archivos requiere conocer los métodos .read() y .write() y los argumentos de la función open(): "r", "w" y "a".
Comentarios
Publicar un comentario