{"id":381,"date":"2024-12-01T19:26:16","date_gmt":"2024-12-01T19:26:16","guid":{"rendered":"https:\/\/equipomedios.com\/blog\/?p=381"},"modified":"2025-05-19T18:19:34","modified_gmt":"2025-05-19T18:19:34","slug":"entrada-salida-en-python","status":"publish","type":"post","link":"https:\/\/equipomedios.com\/blog\/entrada-salida-en-python\/","title":{"rendered":"Entrada\/Salida en Python"},"content":{"rendered":"<h1>Entrada\/Salida en Python<\/h1>\n<p>Los programas ser\u00edan de muy poca utilidad si no fueran capaces de interaccionar con el usuario.<\/p>\n<div id=\"entrada-estandar\" class=\"section\">\n<p>&nbsp;<\/p>\n<h2>Entrada est\u00e1ndar<\/h2>\n<p>Para pedir informaci\u00f3n al usuario, debe utilizar las funciones integradas en el interprete del lenguaje, as\u00ed como los argumentos de l\u00ednea de comandos.<\/p>\n<p><strong>Ejemplo de la funci\u00f3n raw_input<\/strong>:<\/p>\n<p>La funci\u00f3n\u00a0<span class=\"std std-ref\">raw_input()<\/span>\u00a0siempre devuelve un valor de cadenas de caracteres:<\/p>\n<div class=\"highlight-default notranslate\">\n<div class=\"highlight\">\n<pre><span class=\"gp\">&gt;&gt;&gt; <\/span><span class=\"n\">nombre<\/span> <span class=\"o\">=<\/span> <span class=\"n\">raw_input<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Ana: \u00bfC\u00f3mo se llama usted?: '<\/span><span class=\"p\">)<\/span>\r\n<span class=\"go\">Ana: \u00bfC\u00f3mo se llama usted?: Leonardo<\/span>\r\n<span class=\"gp\">&gt;&gt;&gt; <\/span><span class=\"nb\">print<\/span> <span class=\"n\">nombre<\/span>\r\n<span class=\"go\">Leonardo<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p><strong>Ejemplo de la funci\u00f3n input<\/strong>:<\/p>\n<p>La funci\u00f3n\u00a0<span class=\"std std-ref\">input()<\/span>\u00a0siempre devuelve un valor num\u00e9rico:<\/p>\n<div class=\"highlight-default notranslate\">\n<div class=\"highlight\">\n<pre><span class=\"gp\">&gt;&gt;&gt; <\/span><span class=\"n\">edad<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">input<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Ana: \u00bfQue edad tiene usted?: '<\/span><span class=\"p\">)<\/span>\r\n<span class=\"go\">Ana: \u00bfQue edad tiene usted?: 38<\/span>\r\n<span class=\"gp\">&gt;&gt;&gt; <\/span><span class=\"nb\">print<\/span> <span class=\"n\">edad<\/span>\r\n<span class=\"go\">38<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"entrada-por-script\" class=\"section\">\n<p>&nbsp;<\/p>\n<h2>Entrada por script<\/h2>\n<p>En muchas practicas de este entrenamiento usted lo que ha hecho ha sido escribir c\u00f3digo en el int\u00e9rprete, y\/o escribir\/ejecutar peque\u00f1os programas Python, pero los programas inform\u00e1ticos no funcionan as\u00ed.<\/p>\n<p>Se basan en escribir todas las instrucciones en archivos llamados\u00a0<em>scripts<\/em>, que no es mas que guiones de instrucciones. Luego se env\u00eda este archivo al int\u00e9rprete como par\u00e1metro desde la terminal de comando (si es un lenguaje interpretado como Python) y \u00e9ste ejecutar\u00e1 todas las instrucciones en bloque.<\/p>\n<p>A parte de ser la base del funcionamiento de los programas, la caracter\u00edstica de los\u00a0<em>scripts<\/em>\u00a0es que pueden recibir datos desde la propia terminal de comando en el momento de la ejecuci\u00f3n, algo muy \u00fatil para agregar dinamismo los\u00a0<em>scripts<\/em>\u00a0a trav\u00e9s de par\u00e1metros personalizables.<\/p>\n<p>A continuaci\u00f3n, un ejemplo el cual simula a sala de chat del servicio\u00a0<em>LatinChat.com<\/em>, validando datos de entradas num\u00e9rico y tipo cadena de caracteres e interactu\u00e1 con el usuario y en base a condicionales muestra un mensaje.<\/p>\n<div class=\"highlight-python notranslate\">\n<div class=\"highlight\">\n<pre><span class=\"nb\">print<\/span> <span class=\"s2\">\"<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">Simulando a LatinChat\"<\/span>\r\n<span class=\"nb\">print<\/span> <span class=\"s2\">\"=====================\"<\/span>\r\n\r\n<span class=\"nb\">print<\/span> <span class=\"s2\">\"<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">Sala de Chat &gt; De 30 a 40 a\u00f1os\"<\/span>\r\n<span class=\"nb\">print<\/span> <span class=\"s2\">\"------------------------------<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">\"<\/span>\r\n\r\n<span class=\"nb\">print<\/span> <span class=\"s1\">'Ana: \u00bfC\u00f3mo se llama usted?: '<\/span> \r\n<span class=\"n\">nombre<\/span> <span class=\"o\">=<\/span> <span class=\"n\">raw_input<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Yo: '<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span> <span class=\"s1\">'Ana: Hola'<\/span><span class=\"p\">,<\/span> <span class=\"n\">nombre<\/span><span class=\"p\">,<\/span> <span class=\"s1\">', encantada de conocerte :3'<\/span>\r\n\r\n<span class=\"nb\">print<\/span> <span class=\"s1\">'Ana: \u00bfQue edad tiene usted?: '<\/span>\r\n<span class=\"n\">edad<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">input<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Yo: '<\/span><span class=\"p\">)<\/span>\r\n<span class=\"nb\">print<\/span> <span class=\"s1\">'Usted tiene'<\/span><span class=\"p\">,<\/span> <span class=\"n\">edad<\/span><span class=\"p\">,<\/span> <span class=\"s1\">', y yo ya no digo mi edad xD'<\/span>\r\n\r\n<span class=\"nb\">print<\/span> <span class=\"s1\">'Ana: \u00bfTiene WebCam?, ingrese \"si\" o \"no\", por favor!: '<\/span>\r\n<span class=\"n\">tiene_WebCam<\/span> <span class=\"o\">=<\/span> <span class=\"n\">raw_input<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Yo: '<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"k\">if<\/span> <span class=\"n\">tiene_WebCam<\/span> <span class=\"ow\">in<\/span> <span class=\"p\">(<\/span><span class=\"s1\">'s'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'S'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'si'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'Si'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'SI'<\/span><span class=\"p\">):<\/span>\r\n\t<span class=\"nb\">print<\/span> <span class=\"s2\">\"Ponga la WebCam para verle :-D\"<\/span>\r\n<span class=\"k\">elif<\/span> <span class=\"n\">tiene_WebCam<\/span> <span class=\"ow\">in<\/span> <span class=\"p\">(<\/span><span class=\"s1\">'n'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'no'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'No'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'NO'<\/span><span class=\"p\">):<\/span>\r\n\t<span class=\"nb\">print<\/span> <span class=\"s2\">\"Lastima por usted :'( Adi\u00f3s\"<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<div class=\"admonition tip\">\n<p class=\"first admonition-title\">Truco<\/p>\n<p class=\"last\"><strong>LatinChat.com<\/strong>, fue un servicio de Internet que ofrec\u00eda diversas salas de chat, muy popular en la d\u00e9cada de los 90 en latinoamericana.<\/p>\n<\/div>\n<div id=\"scripts-con-argumentos\" class=\"section\">\n<p>&nbsp;<\/p>\n<h3>Scripts con argumentos<\/h3>\n<p>Para poder enviar informaci\u00f3n a un script y manejarla, tenemos que utilizar la librer\u00eda de sistema\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">sys<\/span><\/code>. En ella encontraremos la lista\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">argv<\/span><\/code>\u00a0que almacena los argumentos enviados al\u00a0<em>script<\/em>.<\/p>\n<p>Usted debe crear un\u00a0<em>script<\/em>\u00a0llamado\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">entrada_argumentos.py<\/span><\/code>\u00a0con el siguiente contenido:<\/p>\n<div class=\"highlight-python notranslate\">\n<div class=\"highlight\">\n<pre><span class=\"kn\">import<\/span> <span class=\"nn\">sys<\/span>\r\n\r\n<span class=\"nb\">print<\/span> <span class=\"n\">sys<\/span><span class=\"o\">.<\/span><span class=\"n\">argv<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p>Ejecuta el\u00a0<em>script<\/em>\u00a0llamado\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">entrada_argumentos.py<\/span><\/code>, de la siguiente forma:<\/p>\n<div class=\"highlight-default notranslate\">\n<div class=\"highlight\">\n<pre><span class=\"n\">python<\/span> <span class=\"n\">entrada_argumentos<\/span><span class=\"o\">.<\/span><span class=\"n\">py<\/span>\r\n<span class=\"p\">[<\/span><span class=\"s1\">'entrada_argumentos.py'<\/span><span class=\"p\">]<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p>Al ejecutarlo puede ver que devuelve una lista con una cadena que contiene el nombre del\u00a0<em>script<\/em>. Entonces, el primer argumento de la lista\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">sys.argv<\/span><\/code>\u00a0(es decir,\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">sys.argv[0]<\/span><\/code>) es el propio nombre del\u00a0<em>script<\/em>.<\/p>\n<p>Ahora si intenta ejecutar el\u00a0<em>script<\/em>\u00a0de nuevo pasando algunos valores como n\u00fameros y cadenas de caracteres entre comillas dobles, todo separado por espacios:<\/p>\n<div class=\"highlight-default notranslate\">\n<div class=\"highlight\">\n<pre><span class=\"n\">python<\/span> <span class=\"n\">entrada_argumentos<\/span><span class=\"o\">.<\/span><span class=\"n\">py<\/span> <span class=\"mi\">300<\/span> <span class=\"mf\">43.234<\/span> <span class=\"s2\">\"Hola Plone\"<\/span>\r\n<span class=\"p\">[<\/span><span class=\"s1\">'entrada_argumentos.py'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'300'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'43.234'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'Hola Plone'<\/span><span class=\"p\">]<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p>Cada valor que enviamos al\u00a0<em>script<\/em>\u00a0durante la llamada se llama argumento e implica una forma de entrada de datos alternativa sin usar las funciones\u00a0<span class=\"std std-ref\">input()<\/span>\u00a0y\u00a0<span class=\"std std-ref\">raw_input()<\/span>.<\/p>\n<p>A continuaci\u00f3n, un ejemplo el cual usa un\u00a0<em>script<\/em>\u00a0con la librer\u00eda\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">sys<\/span><\/code>. El\u00a0<em>script<\/em>\u00a0recibe dos (02) argumentos: una cadena de caracteres y un n\u00famero entero. Lo que hace es imprimir la cadena de caracteres tantas veces como le indique con el argumento de tipo n\u00famero:<\/p>\n<div class=\"highlight-python notranslate\">\n<div class=\"highlight\">\n<pre><span class=\"kn\">import<\/span> <span class=\"nn\">sys<\/span>\r\n\r\n<span class=\"c1\"># Comprobaci\u00f3n de seguridad, ejecutar s\u00f3lo si se reciben 2 <\/span>\r\n<span class=\"c1\"># argumentos realemente<\/span>\r\n<span class=\"k\">if<\/span> <span class=\"nb\">len<\/span><span class=\"p\">(<\/span><span class=\"n\">sys<\/span><span class=\"o\">.<\/span><span class=\"n\">argv<\/span><span class=\"p\">)<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">3<\/span><span class=\"p\">:<\/span>\r\n    <span class=\"n\">texto<\/span> <span class=\"o\">=<\/span> <span class=\"n\">sys<\/span><span class=\"o\">.<\/span><span class=\"n\">argv<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span>\r\n    <span class=\"n\">repeticiones<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">int<\/span><span class=\"p\">(<\/span><span class=\"n\">sys<\/span><span class=\"o\">.<\/span><span class=\"n\">argv<\/span><span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">])<\/span>\r\n    <span class=\"k\">for<\/span> <span class=\"n\">r<\/span> <span class=\"ow\">in<\/span> <span class=\"nb\">range<\/span><span class=\"p\">(<\/span><span class=\"n\">repeticiones<\/span><span class=\"p\">):<\/span>\r\n        <span class=\"nb\">print<\/span> <span class=\"n\">texto<\/span>\r\n<span class=\"k\">else<\/span><span class=\"p\">:<\/span>\r\n    <span class=\"nb\">print<\/span> <span class=\"s2\">\"ERROR: Introdujo uno (1) o m\u00e1s de dos (2) argumentos\"<\/span>\r\n    <span class=\"nb\">print<\/span> <span class=\"s2\">\"SOLUCI\u00d3N: Introduce los argumentos correctamente\"<\/span>\r\n    <span class=\"nb\">print<\/span> <span class=\"s1\">'Ejemplo: entrada_dos_argumentos.py \"Texto\" 5'<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p>Si quiere comprobar la validaci\u00f3n de cuantos argumentos deben enviarme al script, ejecute el siguiente comando:<\/p>\n<div class=\"highlight-default notranslate\">\n<div class=\"highlight\">\n<pre><span class=\"n\">python<\/span> <span class=\"n\">entrada_dos_argumentos<\/span><span class=\"o\">.<\/span><span class=\"n\">py<\/span> <span class=\"s2\">\"Hola Plone\"<\/span>\r\n<span class=\"n\">ERROR<\/span><span class=\"p\">:<\/span> <span class=\"n\">Introdujo<\/span> <span class=\"n\">uno<\/span> <span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"n\">o<\/span> <span class=\"n\">m\u00e1s<\/span> <span class=\"n\">de<\/span> <span class=\"n\">dos<\/span> <span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">)<\/span> <span class=\"n\">argumentos<\/span>\r\n<span class=\"n\">SOLUCI\u00d3N<\/span><span class=\"p\">:<\/span> <span class=\"n\">Introduce<\/span> <span class=\"n\">los<\/span> <span class=\"n\">argumentos<\/span> <span class=\"n\">correctamente<\/span>\r\n<span class=\"n\">Ejemplo<\/span><span class=\"p\">:<\/span> <span class=\"n\">entrada_dos_argumentos<\/span><span class=\"o\">.<\/span><span class=\"n\">py<\/span> <span class=\"s2\">\"Texto\"<\/span> <span class=\"mi\">5<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p>Ahora si intenta ejecutar el\u00a0<em>script<\/em>\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">entrada_dos_argumentos.py<\/span><\/code>\u00a0con solo dos (2) argumentos, ejecutando el siguiente comando:<\/p>\n<div class=\"highlight-default notranslate\">\n<div class=\"highlight\">\n<pre><span class=\"n\">python<\/span> <span class=\"n\">entrada_dos_argumentos<\/span><span class=\"o\">.<\/span><span class=\"n\">py<\/span> <span class=\"s2\">\"Hola Plone\"<\/span> <span class=\"mi\">3<\/span>\r\n<span class=\"n\">Hola<\/span> <span class=\"n\">Plone<\/span>\r\n<span class=\"n\">Hola<\/span> <span class=\"n\">Plone<\/span>\r\n<span class=\"n\">Hola<\/span> <span class=\"n\">Plone<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"salida-estandar\" class=\"section\">\n<p>&nbsp;<\/p>\n<h2>Salida est\u00e1ndar<\/h2>\n<p>La forma general de mostrar informaci\u00f3n por pantalla es mediante una consola de comando, generalmente podemos mostrar texto y variables separ\u00e1ndolos con comas, para este se usa la sentencia\u00a0<span class=\"std std-ref\">print<\/span>.<\/p>\n<div id=\"sentencia-print\" class=\"section\">\n<p>&nbsp;<\/p>\n<h3>Sentencia print<\/h3>\n<p>Sentencia\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">print<\/span><\/code>\u00a0eval\u00faa cada expresi\u00f3n, devuelve y escribe el objeto resultado a la salida est\u00e1ndar de la consola de comando. Si un objeto no es un\u00a0<span class=\"std std-ref\">tipo cadena de caracteres<\/span>, ese es primeramente convertido a un\u00a0<em>tipo cadena de caracteres<\/em>\u00a0usando las reglas para las\u00a0<span class=\"std std-ref\">conversiones del tipo<\/span>. La\u00a0<em>cadena de caracteres<\/em>\u00a0(resultado o original) es entonces escrito.<\/p>\n<p>Entonces para mostrar mensajes en pantalla, se utiliza el uso de la sentencia\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">print<\/span><\/code>.<\/p>\n<p><strong>Ejemplo del uso de la sentencia print<\/strong>:<\/p>\n<div class=\"highlight-default notranslate\">\n<div class=\"highlight\">\n<pre><span class=\"gp\">&gt;&gt;&gt; <\/span><span class=\"nb\">print<\/span> <span class=\"s1\">'Ana: Hola'<\/span><span class=\"p\">,<\/span> <span class=\"n\">nombre<\/span><span class=\"p\">,<\/span> <span class=\"s1\">', encantada de conocerte :3'<\/span>\r\n<span class=\"go\">Ana: Hola Leonardo , encantado de conocerte :3<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"formato-de-impresion-de-cadenas\" class=\"section\">\n<p>&nbsp;<\/p>\n<h3>Formato de impresi\u00f3n de cadenas<\/h3>\n<p>En la sentencia\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">print<\/span><\/code>\u00a0se pueden usar el formato de impresi\u00f3n alternando las cadenas de caracteres y variables:<\/p>\n<div class=\"highlight-default notranslate\">\n<div class=\"highlight\">\n<pre><span class=\"gp\">&gt;&gt;&gt; <\/span><span class=\"n\">tipo_calculo<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">\"ra\u00edz cuadrada de dos\"<\/span>\r\n<span class=\"gp\">&gt;&gt;&gt; <\/span><span class=\"n\">valor<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">2<\/span><span class=\"o\">**<\/span><span class=\"mf\">0.5<\/span>\r\n<span class=\"gp\">&gt;&gt;&gt; <\/span><span class=\"nb\">print<\/span> <span class=\"s2\">\"el resultado de\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">tipo_calculo<\/span><span class=\"p\">,<\/span> <span class=\"s2\">\"es:\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">valor<\/span>\r\n<span class=\"go\">el resultado de ra\u00edz cuadrada de dos es: 1.41421356237<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Entrada\/Salida en Python Los programas ser\u00edan de muy poca utilidad si no fueran capaces de interaccionar con el usuario. &nbsp; Entrada est\u00e1ndar Para pedir informaci\u00f3n al usuario, debe utilizar las funciones integradas en el interprete del lenguaje, as\u00ed como los argumentos de l\u00ednea de comandos. Ejemplo de la funci\u00f3n raw_input: La funci\u00f3n\u00a0raw_input()\u00a0siempre devuelve un valor [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":331,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[39,40],"tags":[],"class_list":["post-381","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion","category-python"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/equipomedios.com\/blog\/wp-content\/uploads\/2024\/08\/python-logo-master-v3-TM.png?fit=601%2C203&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/comments?post=381"}],"version-history":[{"count":2,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/381\/revisions"}],"predecessor-version":[{"id":441,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/381\/revisions\/441"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/media\/331"}],"wp:attachment":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/media?parent=381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/categories?post=381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/tags?post=381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}