CursosEmpresasBlogLiveConfPrecios

¿Cómo trabajar con archivos?

Clase 18 de 21 • Curso de Python Intermedio: Comprehensions, Lambdas y Manejo de Errores

Contenido del curso

Preparación antes de empezar

  • 1
    Algunas cosas que aprenderás sobre Python en este curso

    Algunas cosas que aprenderás sobre Python en este curso

    01:36 min
  • 2
    El Zen de Python

    El Zen de Python

    08:30 min
  • 3
    ¿Qué es la documentación?

    ¿Qué es la documentación?

    04:33 min

Entorno virtual

  • 4
    ¿Qué es un entorno virtual?

    ¿Qué es un entorno virtual?

    03:56 min
  • 5
    El primer paso profesional: creación de un entorno virtual

    El primer paso profesional: creación de un entorno virtual

    08:30 min
  • 6
    Instalación de dependencias con pip

    Instalación de dependencias con pip

    09:53 min

Alternativa a los ciclos: comprehensions

  • 7
    Listas y diccionarios anidados

    Listas y diccionarios anidados

    12:32 min
  • 8
    List comprehensions

    List comprehensions

    07:39 min
  • 9
    Dictionary comprehensions

    Dictionary comprehensions

    06:00 min

Conceptos avanzados de funciones

  • 10
    Funciones anónimas: lambda

    Funciones anónimas: lambda

    05:42 min
  • 11
    High order functions: filter, map y reduce

    High order functions: filter, map y reduce

    10:40 min
  • 12
    Proyecto: filtrando datos

    Proyecto: filtrando datos

    14:35 min

Manejo de errores

  • 13
    Los errores en el código

    Los errores en el código

    08:54 min
  • 14
    Debugging

    Debugging

    12:27 min
  • 15
    Manejo de excepciones

    Manejo de excepciones

    10:53 min
  • 16
    Poniendo a prueba el manejo de excepciones

    Poniendo a prueba el manejo de excepciones

    04:12 min
  • 17
    Assert statements

    Assert statements

    07:55 min

Manejo de archivos

  • 18
    ¿Cómo trabajar con archivos?

    ¿Cómo trabajar con archivos?

    Viendo ahora
  • 19
    Trabajando con archivos de texto en Python

    Trabajando con archivos de texto en Python

    12:27 min

Conclusión

  • 20
    Reto final: Juego del Ahorcado o Hangman Game

    Reto final: Juego del Ahorcado o Hangman Game

    03:43 min
  • 21
    Continúa tu camino profesional con Python

    Continúa tu camino profesional con Python

    02:17 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Comentarios

      Erik Alejandro Garcia Duarte

      Erik Alejandro Garcia Duarte

      student•
      hace 5 años
        Cesar Arturo Castanon Acuna

        Cesar Arturo Castanon Acuna

        student•
        hace 5 años
        Fredy Mendoza Vargas

        Fredy Mendoza Vargas

        student•
        hace 5 años
      Brayan Alexis Lechon Andrango

      Brayan Alexis Lechon Andrango

      student•
      hace 5 años
        Andres Felipe Barrera Pulido

        Andres Felipe Barrera Pulido

        student•
        hace 5 años
        Moisés Manuel Morín Hevia

        Moisés Manuel Morín Hevia

        student•
        hace 5 años
      Alfredo Aguiar Arce

      Alfredo Aguiar Arce

      student•
      hace 5 años
        Moisés Manuel Morín Hevia

        Moisés Manuel Morín Hevia

        student•
        hace 5 años
        Abel Camacho

        Abel Camacho

        student•
        hace 5 años
      Iván Mauricio Jaimes Niño

      Iván Mauricio Jaimes Niño

      student•
      hace 5 años
        Moisés Manuel Morín Hevia

        Moisés Manuel Morín Hevia

        student•
        hace 5 años
        María Angélica

        María Angélica

        student•
        hace 5 años
      Nicolas Barragan

      Nicolas Barragan

      student•
      hace 5 años
        Moisés Manuel Morín Hevia

        Moisés Manuel Morín Hevia

        student•
        hace 5 años
      Camilo Duque

      Camilo Duque

      student•
      hace 5 años
        Moisés Manuel Morín Hevia

        Moisés Manuel Morín Hevia

        student•
        hace 5 años
        Ruben Dario Hernandez Centeno

        Ruben Dario Hernandez Centeno

        student•
        hace 4 años
      Jose Antonio Rojas Ollarves

      Jose Antonio Rojas Ollarves

      student•
      hace 5 años
        Moisés Manuel Morín Hevia

        Moisés Manuel Morín Hevia

        student•
        hace 5 años
        Camila Andrea Díaz Serrano

        Camila Andrea Díaz Serrano

        student•
        hace 4 años
      Carlos Fernando Aguilar González

      Carlos Fernando Aguilar González

      student•
      hace 5 años
        Moisés Manuel Morín Hevia

        Moisés Manuel Morín Hevia

        student•
        hace 5 años
        Esmeralda Palacios

        Esmeralda Palacios

        student•
        hace 5 años
      Itzá Alejandra Hernández Sequeira

      Itzá Alejandra Hernández Sequeira

      student•
      hace 5 años
      Luis Alejandro Ortega Bermudez

      Luis Alejandro Ortega Bermudez

      student•
      hace 5 años
        Alejandro Cuello Maure

        Alejandro Cuello Maure

        student•
        hace 5 años
      Nicolas Torres Vanegas

      Nicolas Torres Vanegas

      student•
      hace 5 años
        Fernando Campos

        Fernando Campos

        student•
        hace 5 años
        Ruben Dario Hernandez Centeno

        Ruben Dario Hernandez Centeno

        student•
        hace 4 años
      Alejandro Cuello Maure

      Alejandro Cuello Maure

      student•
      hace 5 años
      Jaime Aza

      Jaime Aza

      student•
      hace 5 años
      Gabriel Missael Barco

      Gabriel Missael Barco

      student•
      hace 5 años
      Miguel Andres Rendon Reyes

      Miguel Andres Rendon Reyes

      student•
      hace 5 años
      Miguel Andres Rendon Reyes

      Miguel Andres Rendon Reyes

      student•
      hace 5 años
      Wilmer Felipe Pungo

      Wilmer Felipe Pungo

      student•
      hace 5 años
      Nicolas Adrian Battista

      Nicolas Adrian Battista

      student•
      hace 5 años
      Josue Noha Valdivia

      Josue Noha Valdivia

      student•
      hace 5 años
      Usuario anónimo

      Usuario anónimo

      user•
      hace 5 años

      Modos de Apertura

      • r -> Solo lectura
      • r+ -> Lectura y escritura
      • w -> Solo escritura. Sobre escribe el archivo si existe. Crea el archivo si no existe
      • w+ -> Escritura y lectura. Sobre escribe el archivo si existe. Crea el archivo si no existe
      • a -> Añadido (agregar contenido). Crea el archivo si éste no existe
      • a+ -> Añadido (agregar contenido) y lectura. Crea el archivo si éste no existe.

      ⭐ Si no escriben el modo de apertura, Python lo toma por Default como si fuera rt . Read and Text. . Además, f es el nombre por convención, entonces pues ese ponemos.

      Gracias

      Resumen | Existen varias extensiones de archivos con los que podemos interactuar con python (js,csv,py,css,json,xml) Para abrir un archivo seguimos las siguiente estructura

      with open(<ruta>, <modo_apertura>) as <nombre>

      with Es un manejador contextual, nos ayuda a controlar el flujo del archivo (sirve para que el archivo no se dañe cuando existe algún cierre inesperado)

      open(ruta,modo_apertura): es una función que necesita de dos parámetros

      • ruta: es donde se encuentra nuestro archivo en nuestro equipo

      • modo_de_apertura: como vamos a abrir el archivo, los modificadores son: r → modo de lectura w → modo de escritura (sobreescribe el archivo) a → modo append (añade información al final del archivo)

      as <nombre> nos ayuda a darle una abreviatura o un nombre a los datos que acabamos de leer

      Excelente! gracias por el aporte

      Buen resumen.

      Usa este comentario como botón de "Me encanta" para los Quiz intermedios entre las clases.

      Me encanta.

      Es el primer curso que veo en Platzi con esa característica, la verdad es algo agradable, cortos y ayudan a retener mejor la información

      Para trabajar con archivos de M. Excel se puede utilizar el módulo OpenPyXL :

      • Lectura y escritura de libros
      • Creación y acceso a las hojas de cálculo
      • Creación de fórmulas de Excel
      • Creación de gráficos, con apoyo de otros módulos

      OpenPyXL no hace parte de las librerias estándar de Python y por ello se requiere instalar:

      pip install openpyxl

      Sitio Web

      Ejemplo:

      from openpyxl import Workbook wb = Workbook() # grab the active worksheet ws = wb.active # Data can be assigned directly to cells ws['A1'] = 42 # Rows can also be appended ws.append([1, 2, 3]) # Python types will automatically be converted import datetime ws['A2'] = datetime.datetime.now() # Save the file wb.save("sample.xlsx")

      Super útil.

      Muchas gracias

      Resumen clase Tipos de archivos de texto:

      • .csv: De información. Acá por ejemplo suelen estar almacenadas muchas estructuras y bases de datos que nosotros usaremos para trabajar. Muy utilizado en DS.

      • .py: Se usa para editar los scripts en Python.

      • .json: Manera de compartir información mediante diferentes servicios cuando se realiza una app web. Sirve mucho para el backend.

      • .xml: También nos sirve para compartir información

      • .txt: De texto plano. Muy habitual.

      • .js: De código para programar interacción en páginas web.

      • .css: De código para programar estilos en páginas web.

        archivos_textod.png
        Para abrir un archivo de texto con Python, hay 3 modos de apertura para hacerlo:

      • r —> Lectura: Para poder obtener el contenida del archivo.

      • w —> Escritura: Sobreescribir el archivo. Es decir se reemplaza el primer archivo con otro que escribimos.

      • a —> Escritura: (append). A diferencia del otro, este no sobreescribe. Es decir no elimina el otro y lo reemplaza, sino que agrega lo nuevo al final de este.

      Para manejar archivos de texto, hay que saberse esta sola linea de código:

      with open("./ruta/del/archivo.txt", "r") as f
      • WITH: En python se denomina como un “manejador contextual”. Controla el flujo del archivo y se asegura que el archivo no se rompa en caso de que se cierre inesperadamente.

      • OPEN: Abre el archivo. Recibe parámetros. Obligatoriamente 2:

      • PARÁMETROS: Si o si tiene que recibir la ruta del archivo, y el modo de apertura (r, w, a). Aunque puede recibir otros parámetros más si queremos, pero estos son opcionales.

      • AS: Se le agrega un alias al final para luego poder llamarlo.

      Ojalá se profunidzara más aquí.

      🐍 Comparto la documentación de la función open() la cual combinada con with nos permite abrir archivos:

       

       

      • r   Read-Lectura, es el modo default de apertura que tiene la función open().
      • w   Write-Escritura, este modo trunca el archivo desde el inicio.
      • x   Abierto para creación exclusiva, falla si el archivo ya existe previamente.
      • a   Write Append - Añadiendo contenido al final del archivo si este ya existe.
      • b   Binary Mode - Apertura de modo binario.
      • t   Text mode - Modo texto que es el default.
      • +   Read-Write, Apertura para actualización (lectura-escritura) - (Puede combinarse con otros modos)

      Modos combinados:

      • w+   Escritura con actualización, este modo trunca el archivo inicialmente.
      • w+b   Escritura/actualización binaria, este modo trunca el archivo inicalmente.
      • r+   Lectura con actualización, este modo no trunca el archivo.
      • r+b   Lectura/Actualizacion binaria, este modo no trunca el archivo.   Estándo en la documentación encontrarán una palabra especial, truncate o truncar esto significa que el archivo existente que queremos abrir será limpiado internamente, o sea su contenido será borrado para dar apertura al nuevo contenido por completo.

      Siempre es buena la documentación.

      Gracias

      open(): Nos permite leer archivos, ejemplo:

      f = open('some_file)

      IMPORTANTE Siempre que abras un archivo debes cerrarlo para ello se utiliza la funcion close .

      close(): Se utiliza esta funcion para cerrar el archivo anteriomente abierto y no se desperdicie la memoria, ejemplo:

      f.close()

      Context manager: Una mejor manera de manipular los archivos es utilizando context managers, por que garantizan que el archivo se cierre, ejemplo:

      with open(filename) as f: # do something with the file Existen varios modos de abrir un archivo, lo mas importantes son: * r (read) * w (write) with open(filename, mode = 'w') as f: #do something with the file

      Buen resumen.

      Gracias por el dato

      **Tipos de archivos: **

      Existen 2 tipos: Los que aparecen en el círculo gris son los archivos de texto y los que aparecen en el color verde son archivos binarios.

      files.PNG

      La diferencia es que los archivos de texto tienen bytes que solamente representan letras, números, símbolos ... en cambio, los archivos binarios tienen bytes que representan cosas infinitamente más complejas, como por ejemplo, datos específicos de imágenes, de videos, etc.

      Normalmente, cuando interactuamos con Python, no vamos a interactuar con los archivos binarios porque son bastante complejos.

      Para abrir un archivo de texto con Python, vamos a encontrar 3 formas de hacerlo:

      open_files.PNG

      Para poder aplicar estos pasos tenemos que memorizar y entender una sola línea de código:

      handle_files.PNG

      La palabra clave (keyword) "with" en Python se denomina un manejador contextual. Esta palabra clave lo que hace es controlar el flujo de nuestro archivo de manera que si cerramos el programa o el Script finalice inesperadamente, el archivo no se rompa. Luego tenemos la función interna open, que lo que hace es abrir o aperturar el archivo (ya sea en la computadora o en un servidor si estamos desarrollando aplicaciones web). Esta función open lleva varios parámetros pero los obligatorios son 2: 1) La ruta del archivo, que va a estar en formato String (cadena de caracteres) 2) el modo de apertura, ya sea la r (read = leer), la w (write = escritura con sobreescribir) o la a (append = añadir o agregar escritura sin sobreescribir). Finalmente, agregamos el keyword as para manejar de manera más sencilla y darle un nombre hipotético a nuestro archivo dentro del programa para poder trabajarlo, en este caso, la letra f.

      Muy gráfico.

      excelente,gracias por incluir la imagen.

      Yo implemento python en mi día a día en el ramo geoespacial. Nuestros tipos de archivos más manejados son el vector y ráster. Mientras que vector se utiliza el GeoJSON ya que tiene una llave de geometría dentro del cuerpo, en ráster es muy común el GeoTIFF. Hacemos uso de la poderosa librería GDAL (Geospatial Data Abstraction Library) - https://gdal.org/ para trabajar todos estos archivos utilizando python y otros lenguajes de programación.

      el keyword as lo que hace es crear un shortcut?

      Exacto, crea un alias, para poder referenciar el archivo con el nuevo nombre

      Hola, yo trabajo mucho con excel y se que varios programas pueden abrir archivos de excel como R. Desde python tambien se puede interactuar con estos archivos? como xlsx o xlsm?

      Hola 👋🏼 Claro, Python cuenta con una libreria llamada pandas que te deje interactuar con este tipo de archivos. Puedes tomar este curso para conocerla.

      Muy buena pregunta

      Un manejador de contexto es simplemente una palabra clave o un metodo que nos ahorra lineas de codigo y se encarga de hacer dos operaciones de manera automatizada por nosotros, ejemplo, para abrir un archivo lo que queremos es

      1. Abrir el archivo
      2. Usar ese archivo de alguna manera
      3. Cerrar el archivo y liberar esos recursos

      El manejador de contexto lo cierra y lo abre por nosotros, después de que se termina de ejecutar el código del bloque que tiene adentro.

      En visión artificial se usan mucho, las imágenes y los videos. Y los audios se usan mucho en procesamiento digital de señales, es raro que digas que ese tipo de datos no se manejan en python.

      ¿Cómo trabajar con archivos?

      • Hay muchísimos tipos de archivos 📁. Dentro de la programación, es muy común trabajar con archivos. Los podemos clasificar en dos:

        • Archivos de texto: .json, .csv, .js, .txt, .py, etc. Solo hay letras! ✉️.
        • Archivos binarios: .mp3, .png, .ddl, .jpg, .avi, etc. En este caso almacenan cosas mucho más complejas ⛓️.
      • Normalmente, al trabajar con Python 🐍 solo trabajaremos con archivos de texto, no con binarios. 👀.

      • Hay tres modos de apertura de una archivo de texto:

        • R → Lectura.
        • W → Escritura (sobrescribir).
        • A → Escritura append (agregar al final).
      • Para abrir un archivo, es con la siguiente línea y la palabra clave with que es un manejador contextual que maneja el archivo y, en caso de que se finalice el programa, no se rompa el archivo:

        with open('archivo.txt', 'r') as f:

      with open("css/styles.css","a") as f: : De la anterior línea tenemos que entender que with se encuentra como un manejador contextual. Que nos ayuda controlando el flujo de nuestros archivos, que posteriormente puede derivarse en un cierre inesperado del código, con lo que nuestro manjeador contextual, qué también es capaz de pasar contexto a las funciones que lo necesiten. Cerrará nuestros archivos de la manera correcta.

      Las rutas que contienen los open, incluyen todo tipo de ruta, lo que implica por supuesto a un link.

      Manejo de Archivos

      Aqui un blog de como leer arhivos

      Resumen

      Modos de apertura

      • 'r': Por defecto, para leer el fichero.
      • 'w': Para escribir en el fichero.
      • 'x': Para la creación, fallando si ya existe.
      • 'a': Para añadir contenido a un fichero existente.
      • 'b': Para abrir en modo binario.
      • 'r'+ Lectura y escritura
      • 'w+ Escritura y lectura. Sobre escribe el archivo si existe. Crea el archivo si no existe
      • 'a+' Añadido (agregar contenido) y lectura. Crea el archivo si éste no existe.
      with open('./ruta_file/file.txt", "r") as f:

      COMANDO PARA ACCEDER A UN ARCHIVO

      with open("./ruta/del/archivo.txt", “r”) as f:

      WITH: En python se denomina como un “manejador contextual”. Controla el flujo del archivo y se asegura que el archivo no se rompa.

      OPEN: abre el archivo

      AS KEYWORD Este módulo permite a un programa Python determinar si una cadena de caracteres es una palabra clave. Retorna True si s es una palabra clave Python. Secuencia que contiene todos las palabras clave definidos para el intérprete. En otras palabras, sirve para asignarle un nombre mas sencillo a nuestro mas sencillo.

      Archivos

      • Archivo de texto → presenta información legible para nosotros, puede representar texto plano (.txt), instrucciones de algún lenguaje de programación (.py. js) o información (.xml .json)
      • Archivos binarios → presenta información destinada a un software en específico y es este software el que "traduce" esta información para nosotros, pueden ser imágenes (.png .jpg), videos (.avi .mp4), etc(.docx .dwg)

      Python trabaja con archivos de texto

      Modos de apertura

      • r → modo de lectura
      • w → modo de escritura (sobreescribe el archivo)
      • a → modo append (añade información al final del archivo)

      Sintaxis

      with open(<ruta>, <r/w/a>) as <alias>:
      - with → manejador de archivos, permite manipular el archivo sin que este se rompa (en caso de error imprevisto) - open → instruccion que permite abrir un archivo, sus parámetros son la direccion del archivo y el modo de apertura - <alias> → podemos generar un alias para trabajar con el archivo dentro de python

      📑 Las habilidades necesarias para trabajar con archivos son la escritura y lectura.