CursosEmpresasBlogLiveConfPrecios

Trabajando con archivos de texto en Python

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

Clase anteriorSiguiente clase

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?

    06:52 min
  • 19
    Trabajando con archivos de texto en Python

    Trabajando con archivos de texto en Python

    Viendo ahora

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
        Edgar Lopez

        Edgar Lopez

        student•
        hace 5 años
        1.PNG
        Espero les sirva :)
        def read(): names = [] with open("./archivos/name.txt", "r", encoding="utf-8") as f: for line in f: if len(line.strip()) > 0: names.append(line.strip()) if len(names)> 0: print(names) else: print("Archivo vacio") def write(): names = [] with open("./archivos/name.txt", "w" , encoding="utf-8") as f: for name in names: f.write(name) f.write('\n') def agregar_nombre(nombre): with open("./archivos/name.txt", "a" , encoding="utf-8") as f: f.write(nombre) f.write("\n") def borrar_nombre(nombre): names = [] with open("./archivos/name.txt", "r", encoding="utf-8") as f: for line in f: if len(line.strip()) > 0 and line.strip()!= nombre: names.append(line.strip()) with open("./archivos/name.txt", "w" , encoding="utf-8") as f: for name in names: f.write(name) f.write('\n') def run(): sw = True while sw: try: print(""" ---------------------------------------------------------------------- Seleccione un numero: 1. Crear un nuevo archivo 2. Agregar nombre 3. Listar nombre 4. Borrar nombre 5. Salir del programa ---------------------------------------------------------------------- """) n = int(input("Ingrese una opcion : ")) if n == 1: write() elif n == 2: nombre = input("Ingrese el nombre a agregar: ") agregar_nombre(nombre) elif n == 3: read() elif n == 4: nombre = input("Ingrese el nombre a borrar : ") borrar_nombre(nombre) elif n ==5: sw = False print("Programa Terminado!") except ValueError : print("Error seleccione una opcion correcta") # write() if __name__ == '__main__': run()
          Nicolas Vargas

          Nicolas Vargas

          student•
          hace 5 años

          Felicitaciones, se nota tu dedicacion y lo profecional que eres. Muchas gracias por tu aporte, me ayudo mucho. <3

          Sebastián Andrade

          Sebastián Andrade

          student•
          hace 5 años

          bastante bien, felicitaciones y gracias por el aporte

        Miguel Angel Reyes Moreno

        Miguel Angel Reyes Moreno

        student•
        hace 5 años

        encoding = "utf-8" Sirve para que Python pueda soportar caracteres del idioma español, como la "ñ" y letras con tilde.

          Moisés Manuel Morín Hevia

          Moisés Manuel Morín Hevia

          student•
          hace 5 años

          Sí, cada lengua tiene su encoding.

          Marcelo Alejandro Palma Brach

          Marcelo Alejandro Palma Brach

          student•
          hace 5 años

          A mi me soporta hasta los emojis, aunque no le especifique enconding="16", en lugar de eso le puse enconding="8" 🤔

        Urdinola Ivan Alberto

        Urdinola Ivan Alberto

        student•
        hace 5 años

        Compañeros si tienen un problema con la ruta del archivo, les recomiendo algo que me funcionó:

        1. Ir al archivo 'numbers.txt' que aparece en el explorador de VSC
        2. click derecho y click en --> 'copiar ruta de acceso relativa' y listo, con esa ruta inicias: por ejemplo la mía:
        with open('./venv/archivos/numbers.txt, 'r', encoding = 'utf-8) as f:
          Celic Aislinn Liahut Ley

          Celic Aislinn Liahut Ley

          student•
          hace 5 años

          Muchas gracias , me sirvió mucho <3 :)

          Moisés Manuel Morín Hevia

          Moisés Manuel Morín Hevia

          student•
          hace 5 años

          Thanks.

        Alejandro Aguilar

        Alejandro Aguilar

        student•
        hace 5 años

        Encuentro muy útil hacer una constante que defina la ruta absoluta del script para poder ejecutarlo desde cualquier lado (van a notar que si se ejecuta desde otro lado, la ruta "./archivos/numbers.txt" ya no sirve), esto sería, así:

        import os FILE_PATH=os.path.dirname(__file__) def read(): numbers = [] with open(f"{FILE_PATH}/archivos/numbers.txt", "r", encoding="utf-8") as f: [numbers.append(int(line)) for line in f] print(numbers)

        Si alguien tiene otra sugerencia, agradecería su comentario :D

          Kevin Harold Gutierrez Ramirez

          Kevin Harold Gutierrez Ramirez

          student•
          hace 4 años

          Gracias <3

          Carlos Daniel Rodriguez

          Carlos Daniel Rodriguez

          student•
          hace 4 años

          Gracias amigo! Me re sirvió

        Andrés Suarez

        Andrés Suarez

        student•
        hace 4 años

        Un pequeño aporte, cuando estén trabajando con datos y tengan su .csv con los decimales en , y no . en: with open("./archivos/numeros.csv", "r", encoding="utf-8", decimal=",") as f con añadir decimal="," no tendrán que editar nada y pasan a procesar sus datos de inmediato.

        Saludos a todos

          Carlos Rodríguez

          Carlos Rodríguez

          student•
          hace 4 años

          Genial.

        Daniel Paloma Murcia

        Daniel Paloma Murcia

        student•
        hace 5 años

        En la funcion write() es buena práctica poner f.close() despues del ciclo for, para cerrar el archivo y no perder informacion.

          Moisés Manuel Morín Hevia

          Moisés Manuel Morín Hevia

          student•
          hace 5 años

          Lo tendré en cuenta, gracias.

          Cristian Camilo Hernández Ramirez

          Cristian Camilo Hernández Ramirez

          student•
          hace 4 años

          Creo que al usar el context manager (with), él siempre cierra el archivo por nosotros y no hay necesidad de cerrarlo manualmente.

          Porque cuando no usas el context manager, tienes que cerrarlo así:

          f = open("/path/file.txt", "r") f.write('something') f.close()
        Enzo Venturi

        Enzo Venturi

        student•
        hace 4 años

        Les dejo la manera de como hacerlo con list comprehensions:

        numbers_txt = [int(line) for line in f] names_txt = [f.write(name + "\n") for name in names]
          Miguel Góngora

          Miguel Góngora

          student•
          hace 4 años

          Excelente aporte

          Juan Pablo Cuenca Ludeña

          Juan Pablo Cuenca Ludeña

          student•
          hace 4 años

          Muy buena, utilización, no sabía que se podían usar las list comprehensions como una especie de iterador, aunque puede generar listas con valores booleanos o incluso None

          Por ejemplo:

          unused_list = [ print(i) for i in range(5)] # Imprime los números del 0 al 4 # unused_list = [ None, None, None, None, None]
        Alejandro Castaño Vargas

        Alejandro Castaño Vargas

        student•
        hace 4 años

        Tuve un problema con la ubicación del archivo, VSC no la reconocía y la tomaba como FileNotFoundError, es decir, como si no existiera. Lo solucioné agregando

        1. La ruta original y no la relativa
        2. una r antes de la ruta, esto hace que convierta un string común a un raw string Espero a alguien le sirva
        def read(): numbers = [] with open(r"C:\Users\alejandro\Documents\Visual Studio Code\Python\Manejo archivos\carpeta\numbers.txt" , "r") as f:
          William Ricardo Vargas Acero

          William Ricardo Vargas Acero

          student•
          hace 3 años

          Me sirvió, sin esa r no me corre el programa. Muchas gracias.

        Jhon Stiven León

        Jhon Stiven León

        student•
        hace 4 años

        Les recomiendo la siguiente extensión para VSCode la cúal nos permite ubicar un archivo de una manera un poquito más cómoda, los invito a probarla

        Screenshot 2021-12-24 135837.png
          Juan Pablo Cuenca Ludeña

          Juan Pablo Cuenca Ludeña

          student•
          hace 4 años

          Muy buena, veía que a Facundo le funcionaba, pero a mi no. GRACIAS

          Andrés Felipe Lopez gomez

          Andrés Felipe Lopez gomez

          student•
          hace 3 años

          Gracias

        José Alejandro Llamas

        José Alejandro Llamas

        student•
        hace 4 años

        Para los que no nos corrió el código en un inicio, acuérdense de sustituir el pass dentro de run() y colocar el nombre de la función que deseen imprimir en pantalla.

        José Martínez Santana

        José Martínez Santana

        student•
        hace 5 años

        Para que sea más elegante en la función de escritura, sólo hay que concatenar la constante de nueva línea:

        for name in names: f.write(name + '\n')

        Diego Alexander Ariza Arenas

        Diego Alexander Ariza Arenas

        student•
        hace 5 años

        Estoy teniendo un problema con el open, mi código es:

        def read(): numbers = [] with open("./archivos/numbers.txt", "r") as f: for line in f: numbers.append(int(line)) print(numbers)

        Pero no imprime nada en pantalla. ¿Alguien sabe cuál sea el problema?

        También intento hacer el :

        .... for line in f: print(line)

        Y no funciona

          Sergio Ivan Santacruz Madrigal

          Sergio Ivan Santacruz Madrigal

          student•
          hace 5 años

          Aunque no esta todo el código creo puede ser que no agregaste la ultima parte, ya que no visualizas nada.

          La primera opción, puedes validar con el Debugger de VSC.

          La segunda, te comparto mi ejercicio, tal vez te ayude a encontrar el problema:

          def read(): numbers = [] with open("./files/numbers.txt", "r", encoding="utf-8") as f: for line in f: numbers.append(int(line)) print(numbers) def write(): names = ["sergio", "laura", "pepe", "chistian"] with open("./files/names.txt", "w", encoding="utf-8") as f: for name in names: f.write(name) f.write("\n") def run(): # read() write() if __name__ == "__main__": run()
          Diego Alexander Ariza Arenas

          Diego Alexander Ariza Arenas

          student•
          hace 5 años

          Hola Sergio, ha funcionado, graciassss!!

          Faltaba poner en el run la función que quería ejecutar, error muy simple pero muy importante línea dentro del código!!!

        Royer Guerrero Pinilla

        Royer Guerrero Pinilla

        student•
        hace 5 años

        Recurso de estudio

        File Handling in Python

          Raul Andres Herrera Larrarte

          Raul Andres Herrera Larrarte

          student•
          hace 4 años

          Gracias por tus valiosos aportes.

          Horacio Gaido

          Horacio Gaido

          student•
          hace 4 años

          Muchas gracias!!! Excelente recurso. También comparto este recurso

        Usuario anónimo

        Usuario anónimo

        user•
        hace 5 años

        ✨ Es importante cerrar nuestro archivo, después de trabajar con el.

        archivo.close()
          Leiber Bertel

          Leiber Bertel

          student•
          hace 4 años

          Creo que al usar el context manager (with), él siempre cierra el archivo por nosotros y no hay necesidad de cerrarlo manualmente.

          Porque cuando no usas el context manager, tienes que cerrarlo así:

          f = open("/path/file.txt", "r") f.write('something') f.close()
        Marco Antonio Baquero Torres

        Marco Antonio Baquero Torres

        student•
        hace 5 años

        Hola, hice el ejercicio agrgandole una comprobacion al archivo de texto para que no salga ningun error en caso que contenga saltos de linea, espacios en blanco o algo que no sean numeros. Lo hice agregando if line.isspace() or line.isalpha(): Los metodos isspace verifica que no sea un espacio o salto de linea y el metodo isalpha verifica si es texto, en cuyo caso se salta esa ejecucion en el cliclo for mediante la instruccion continue.

        def read(): numbers = [] with open('./archivos/numbers.txt', 'r', encoding = 'utf-8') as f: for line in f: if line.isspace() or line.isalpha(): continue numbers.append(int(line)) print(numbers) def write(): names = ['Pepe', 'Marcela', 'Fredy', 'Juan', 'Ana', 'Mara'] with open('./archivos/names.txt', 'a', encoding='utf-8') as f: for name in names: f.write(name) f.write('\n') def run(): read() write() if __name__ == '__main__': run()
          Andres Alonso Huamani Marquez

          Andres Alonso Huamani Marquez

          student•
          hace 4 años

          excelente aporte... Gracias!

        Sebastian vier

        Sebastian vier

        student•
        hace 4 años

        Hay un truco que se puede hacer cuando tienes una lista con muchos nombres y no quieres escribir tantas comillas:

        names = "Paco Miguel Pepe Facundo Sebastian".split()

          Nelson Ricardo Ramírez García

          Nelson Ricardo Ramírez García

          student•
          hace 3 años

          ¡Gracias! 👍👍

          Andrés Felipe Lopez gomez

          Andrés Felipe Lopez gomez

          student•
          hace 3 años

          Muchas gracias

        Carlos A. Lobo R.

        Carlos A. Lobo R.

        student•
        hace 5 años

        Una forma alternativa de escribir el archivo usando lo aprendido hasta ahora, con ++lambda functions++ y ++list comprehensions++

        with open("./files/names", "w", encoding="utf-8") as f: list(map(lambda name: f.write(name+"\n") , [name for name in names]))
        Mario Alberto García Meza

        Mario Alberto García Meza

        teacher•
        hace 5 años

        Eso es una de las mayores ventajas de Platzi. He aprendido por muchos medios. La mayoría en inglés. Esto significa que se suelen pasar el encoding como algo innecesario. Pero si trabajas con archivos con datos en español, necesitas saber sobre encoding.

        Jose Antonio Rojas Ollarves

        Jose Antonio Rojas Ollarves

        student•
        hace 5 años

        TIP Cuando coloca as "f" realmente lo que esta haciendo es una convencion es una forma de tener buenas practicas al momento de trabajar con archivos en python.

          Moisés Manuel Morín Hevia

          Moisés Manuel Morín Hevia

          student•
          hace 5 años

          Quiero tener buenas prácticas.

        Luis Fernandez

        Luis Fernandez

        student•
        hace 4 años

        En el examen preguntan que se usa para escribir una linea en un archivo de texto, y segun esto la respuesta correcta es write(), esto me parece que no es correcto, es decir, en el programa que hace Facundo es correcto, pero Yo le puedo poner el nombre que quiera, hubiese podido ser Piolin() y eso tambien escribe si es que lo programe asi, quizas es correcto se la respuesta es w, o algo asi, pero no creo que write() sea correcto, sino me tienes que hablar especifico del ejemplo de la leccion

          Fernando Campos

          Fernando Campos

          student•
          hace 4 años

          Hola 👋🏼 Estás confundiendo el nombre del método para escribir con el nombre con el que declaras la variable del archivo. El nombre que le das a la variable del archivo sí es totalmente a tu decisión puede ser file o piolin o cualquier otro. Por otro lado, el método de esa variable para poder escribir si es write(). Para escribir usarías algo así. file.write() o piolin.write()

          Luis Fernandez

          Luis Fernandez

          student•
          hace 4 años

          Gracias!!!