# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2019, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/tutorial/inputoutput.rst:5 msgid "Input and Output" msgstr "Entrada y salida" #: ../Doc/tutorial/inputoutput.rst:7 msgid "" "There are several ways to present the output of a program; data can be " "printed in a human-readable form, or written to a file for future use. This " "chapter will discuss some of the possibilities." msgstr "" "Hay diferentes métodos de presentar la salida de un programa; los datos " "pueden ser impresos de una forma legible por humanos, o escritos a un " "archivo para uso futuro. Este capítulo discutirá algunas de las " "posibilidades." #: ../Doc/tutorial/inputoutput.rst:15 msgid "Fancier Output Formatting" msgstr "Formateo elegante de la salida" #: ../Doc/tutorial/inputoutput.rst:17 msgid "" "So far we've encountered two ways of writing values: *expression statements*" " and the :func:`print` function. (A third way is using the :meth:`write` " "method of file objects; the standard output file can be referenced as " "``sys.stdout``. See the Library Reference for more information on this.)" msgstr "" "Hasta ahora encontramos dos maneras de escribir valores: *declaraciones de " "expresión* y la función :func:`print`. (Una tercer manera es usando el " "método :meth:`write` de los objetos tipo archivo; el archivo de salida " "estándar puede referenciarse como ``sys.stdout``. Mirá la Referencia de la " "Biblioteca para más información sobre esto.)" #: ../Doc/tutorial/inputoutput.rst:22 msgid "" "Often you'll want more control over the formatting of your output than " "simply printing space-separated values. There are several ways to format " "output." msgstr "" #: ../Doc/tutorial/inputoutput.rst:25 msgid "" "To use :ref:`formatted string literals `, begin a string with " "``f`` or ``F`` before the opening quotation mark or triple quotation mark. " "Inside this string, you can write a Python expression between ``{`` and ``}" "`` characters that can refer to variables or literal values." msgstr "" #: ../Doc/tutorial/inputoutput.rst:37 msgid "" "The :meth:`str.format` method of strings requires more manual effort. " "You'll still use ``{`` and ``}`` to mark where a variable will be " "substituted and can provide detailed formatting directives, but you'll also " "need to provide the information to be formatted." msgstr "" #: ../Doc/tutorial/inputoutput.rst:50 msgid "" "Finally, you can do all the string handling yourself by using string slicing " "and concatenation operations to create any layout you can imagine. The " "string type has some methods that perform useful operations for padding " "strings to a given column width." msgstr "" #: ../Doc/tutorial/inputoutput.rst:55 msgid "" "When you don't need fancy output but just want a quick display of some " "variables for debugging purposes, you can convert any value to a string with " "the :func:`repr` or :func:`str` functions." msgstr "" #: ../Doc/tutorial/inputoutput.rst:59 msgid "" "The :func:`str` function is meant to return representations of values which " "are fairly human-readable, while :func:`repr` is meant to generate " "representations which can be read by the interpreter (or will force a " ":exc:`SyntaxError` if there is no equivalent syntax). For objects which " "don't have a particular representation for human consumption, :func:`str` " "will return the same value as :func:`repr`. Many values, such as numbers or" " structures like lists and dictionaries, have the same representation using " "either function. Strings, in particular, have two distinct representations." msgstr "" "La función :func:`str` devuelve representaciones de los valores que son " "bastante legibles por humanos, mientras que :func:`repr` genera " "representaciones que pueden ser leídas por el el intérprete (o forzarían un " ":exc:`SyntaxError` si no hay sintáxis equivalente). Para objetos que no " "tienen una representación en particular para consumo humano, :func:`str` " "devolverá el mismo valor que :func:`repr`. Muchos valores, como números o " "estructuras como listas y diccionarios, tienen la misma representación " "usando cualquiera de las dos funciones. Las cadenas, en particular, tienen " "dos representaciones distintas." #: ../Doc/tutorial/inputoutput.rst:68 msgid "Some examples::" msgstr "Algunos ejemplos::" #: ../Doc/tutorial/inputoutput.rst:91 msgid "" "The :mod:`string` module contains a :class:`~string.Template` class that " "offers yet another way to substitute values into strings, using placeholders " "like ``$x`` and replacing them with values from a dictionary, but offers " "much less control of the formatting." msgstr "" #: ../Doc/tutorial/inputoutput.rst:100 msgid "Formatted String Literals" msgstr "" #: ../Doc/tutorial/inputoutput.rst:102 msgid "" ":ref:`Formatted string literals ` (also called f-strings for " "short) let you include the value of Python expressions inside a string by " "prefixing the string with ``f`` or ``F`` and writing expressions as " "``{expression}``." msgstr "" #: ../Doc/tutorial/inputoutput.rst:107 msgid "" "An optional format specifier can follow the expression. This allows greater " "control over how the value is formatted. The following example rounds pi to " "three places after the decimal::" msgstr "" #: ../Doc/tutorial/inputoutput.rst:115 msgid "" "Passing an integer after the ``':'`` will cause that field to be a minimum " "number of characters wide. This is useful for making columns line up. ::" msgstr "" #: ../Doc/tutorial/inputoutput.rst:126 msgid "" "Other modifiers can be used to convert the value before it is formatted. ``'!" "a'`` applies :func:`ascii`, ``'!s'`` applies :func:`str`, and ``'!r'`` " "applies :func:`repr`::" msgstr "" #: ../Doc/tutorial/inputoutput.rst:136 msgid "" "For a reference on these format specifications, see the reference guide for " "the :ref:`formatspec`." msgstr "" #: ../Doc/tutorial/inputoutput.rst:142 msgid "The String format() Method" msgstr "" #: ../Doc/tutorial/inputoutput.rst:144 msgid "Basic usage of the :meth:`str.format` method looks like this::" msgstr "El uso básico del método :meth:`str.format` es como esto::" #: ../Doc/tutorial/inputoutput.rst:149 msgid "" "The brackets and characters within them (called format fields) are replaced " "with the objects passed into the :meth:`str.format` method. A number in the" " brackets can be used to refer to the position of the object passed into the" " :meth:`str.format` method. ::" msgstr "" "Las llaves y caracteres dentro de las mismas (llamados campos de formato) " "son reemplazadas con los objetos pasados en el método :meth:`str.format`. " "Un número en las llaves se refiere a la posición del objeto pasado en el " "método. ::" #: ../Doc/tutorial/inputoutput.rst:159 msgid "" "If keyword arguments are used in the :meth:`str.format` method, their values" " are referred to by using the name of the argument. ::" msgstr "" "Si se usan argumentos nombrados en el método :meth:`str.format`, sus valores" " serán referidos usando el nombre del argumento. ::" #: ../Doc/tutorial/inputoutput.rst:166 msgid "Positional and keyword arguments can be arbitrarily combined::" msgstr "" "Se pueden combinar arbitrariamente argumentos posicionales y nombrados::" #: ../Doc/tutorial/inputoutput.rst:172 msgid "" "If you have a really long format string that you don't want to split up, it " "would be nice if you could reference the variables to be formatted by name " "instead of by position. This can be done by simply passing the dict and " "using square brackets ``'[]'`` to access the keys ::" msgstr "" "Si tenés una cadena de formateo realmente larga que no querés separar, " "podría ser bueno que puedas hacer referencia a las variables a ser " "formateadas por el nombre en vez de la posición. Esto puede hacerse " "simplemente pasando el diccionario y usando corchetes ``'[]'`` para acceder " "a las claves ::" #: ../Doc/tutorial/inputoutput.rst:182 msgid "" "This could also be done by passing the table as keyword arguments with the " "'**' notation. ::" msgstr "" "Esto se podría también hacer pasando la tabla como argumentos nombrados con " "la notación '**'. ::" #: ../Doc/tutorial/inputoutput.rst:189 msgid "" "This is particularly useful in combination with the built-in function " ":func:`vars`, which returns a dictionary containing all local variables." msgstr "" "Esto es particularmente útil en combinación con la función integrada " ":func:`vars`, que devuelve un diccionario conteniendo todas las variables " "locales." #: ../Doc/tutorial/inputoutput.rst:192 msgid "" "As an example, the following lines produce a tidily-aligned set of columns " "giving integers and their squares and cubes::" msgstr "" #: ../Doc/tutorial/inputoutput.rst:209 msgid "" "For a complete overview of string formatting with :meth:`str.format`, see " ":ref:`formatstrings`." msgstr "" "Para una completa descripción del formateo de cadenas con " ":meth:`str.format`, mirá en :ref:`string-formatting`." #: ../Doc/tutorial/inputoutput.rst:214 msgid "Manual String Formatting" msgstr "" #: ../Doc/tutorial/inputoutput.rst:216 msgid "Here's the same table of squares and cubes, formatted manually::" msgstr "" #: ../Doc/tutorial/inputoutput.rst:234 msgid "" "(Note that the one space between each column was added by the way :func:" "`print` works: it always adds spaces between its arguments.)" msgstr "" #: ../Doc/tutorial/inputoutput.rst:237 msgid "" "The :meth:`str.rjust` method of string objects right-justifies a string in a " "field of a given width by padding it with spaces on the left. There are " "similar methods :meth:`str.ljust` and :meth:`str.center`. These methods do " "not write anything, they just return a new string. If the input string is " "too long, they don't truncate it, but return it unchanged; this will mess up " "your column lay-out but that's usually better than the alternative, which " "would be lying about a value. (If you really want truncation you can always " "add a slice operation, as in ``x.ljust(n)[:n]``.)" msgstr "" #: ../Doc/tutorial/inputoutput.rst:246 msgid "" "There is another method, :meth:`str.zfill`, which pads a numeric string on " "the left with zeros. It understands about plus and minus signs::" msgstr "" "Hay otro método, :meth:`str.zfill`, el cual rellena una cadena numérica a la" " izquierda con ceros. Entiende signos positivos y negativos::" #: ../Doc/tutorial/inputoutput.rst:258 msgid "Old string formatting" msgstr "Viejo formateo de cadenas" #: ../Doc/tutorial/inputoutput.rst:260 msgid "" "The ``%`` operator can also be used for string formatting. It interprets the" " left argument much like a :c:func:`sprintf`\\ -style format string to be " "applied to the right argument, and returns the string resulting from this " "formatting operation. For example::" msgstr "" "El operador ``%`` también puede usarse para formateo de cadenas. Interpreta" " el argumento de la izquierda con el estilo de formateo de :c:func:`sprintf`" " para ser aplicado al argumento de la derecha, y devuelve la cadena " "resultante de esta operación de formateo. Por ejemplo::" #: ../Doc/tutorial/inputoutput.rst:269 msgid "" "More information can be found in the :ref:`old-string-formatting` section." msgstr "" "Podés encontrar más información en la sección :ref:`old-string-formatting`." #: ../Doc/tutorial/inputoutput.rst:275 msgid "Reading and Writing Files" msgstr "Leyendo y escribiendo archivos" #: ../Doc/tutorial/inputoutput.rst:281 msgid "" ":func:`open` returns a :term:`file object`, and is most commonly used with " "two arguments: ``open(filename, mode)``." msgstr "" "La función :func:`open` devuelve un `objeto archivo`, y se usa normalmente " "con dos argumentos: ``open(nombre_de_archivo, modo)``. ::" #: ../Doc/tutorial/inputoutput.rst:293 msgid "" "The first argument is a string containing the filename. The second argument" " is another string containing a few characters describing the way in which " "the file will be used. *mode* can be ``'r'`` when the file will only be " "read, ``'w'`` for only writing (an existing file with the same name will be " "erased), and ``'a'`` opens the file for appending; any data written to the " "file is automatically added to the end. ``'r+'`` opens the file for both " "reading and writing. The *mode* argument is optional; ``'r'`` will be " "assumed if it's omitted." msgstr "" "Cuando se lee en modo texto, por defecto se convierten los fines de lineas " "que son específicos a las plataformas (``\\n`` en Unix, ``\\r\\n`` en " "Windows) a solamente ``\\n``. Cuando se escribe en modo texto, por defecto " "se convierten los ``\\n`` a los finales de linea específicos de la " "plataforma. Este cambio automático está bien para archivos de texto, pero " "corrompería datos binarios como los de archivos :file:`JPEG` o :file:`EXE`." " Asegurate de usar modo binario cuando leas y escribas tales archivos." #: ../Doc/tutorial/inputoutput.rst:302 msgid "" "Normally, files are opened in :dfn:`text mode`, that means, you read and " "write strings from and to the file, which are encoded in a specific " "encoding. If encoding is not specified, the default is platform dependent " "(see :func:`open`). ``'b'`` appended to the mode opens the file in " ":dfn:`binary mode`: now the data is read and written in the form of bytes " "objects. This mode should be used for all files that don't contain text." msgstr "" "Es una buena práctica usar la declaración :keyword:`with` cuando manejamos " "objetos archivo. Tiene la ventaja que el archivo es cerrado apropiadamente " "luego de que el bloque termina, incluso si se generó una excepción. También" " es mucho más corto que escribir los equivalentes bloques :keyword:`try`\\ " "-\\ :keyword:`finally` ::" #: ../Doc/tutorial/inputoutput.rst:309 msgid "" "In text mode, the default when reading is to convert platform-specific line " "endings (``\\n`` on Unix, ``\\r\\n`` on Windows) to just ``\\n``. When " "writing in text mode, the default is to convert occurrences of ``\\n`` back " "to platform-specific line endings. This behind-the-scenes modification to " "file data is fine for text files, but will corrupt binary data like that in " ":file:`JPEG` or :file:`EXE` files. Be very careful to use binary mode when " "reading and writing such files." msgstr "" "Cuando se lee en modo texto, por defecto se convierten los fines de lineas " "que son específicos a las plataformas (``\\n`` en Unix, ``\\r\\n`` en " "Windows) a solamente ``\\n``. Cuando se escribe en modo texto, por defecto " "se convierten los ``\\n`` a los finales de linea específicos de la " "plataforma. Este cambio automático está bien para archivos de texto, pero " "corrompería datos binarios como los de archivos :file:`JPEG` o :file:`EXE`." " Asegurate de usar modo binario cuando leas y escribas tales archivos." #: ../Doc/tutorial/inputoutput.rst:317 msgid "" "It is good practice to use the :keyword:`with` keyword when dealing with " "file objects. The advantage is that the file is properly closed after its " "suite finishes, even if an exception is raised at some point. Using " ":keyword:`!with` is also much shorter than writing equivalent " ":keyword:`try`\\ -\\ :keyword:`finally` blocks::" msgstr "" "Es una buena práctica usar la declaración :keyword:`with` cuando manejamos " "objetos archivo. Tiene la ventaja que el archivo es cerrado apropiadamente " "luego de que el bloque termina, incluso si se generó una excepción. También" " es mucho más corto que escribir los equivalentes bloques :keyword:`try`\\ " "-\\ :keyword:`finally` ::" #: ../Doc/tutorial/inputoutput.rst:328 msgid "" "If you're not using the :keyword:`with` keyword, then you should call " "``f.close()`` to close the file and immediately free up any system resources" " used by it. If you don't explicitly close a file, Python's garbage " "collector will eventually destroy the object and close the open file for " "you, but the file may stay open for a while. Another risk is that different" " Python implementations will do this clean-up at different times." msgstr "" "Si no estuvieses usando el bloque :keyword:`with`, entonces deberías llamar " "``f.close()`` para cerrar el archivo e inmediatamente liberar cualquier " "recurso del sistema usado por este. Si no cierras explícitamente el archivo," " el «garbage collector» de Python eventualmente destruirá el objeto y " "cerrará el archivo por vos, pero el archivo puede estar abierto por un " "tiempo. Otro riesgo es que diferentes implementaciones de Python harán esta " "limpieza en diferentes momentos." #: ../Doc/tutorial/inputoutput.rst:336 msgid "" "After a file object is closed, either by a :keyword:`with` statement or by " "calling ``f.close()``, attempts to use the file object will automatically " "fail. ::" msgstr "" "Después de que un objeto de archivo es cerrado, ya sea por :keyword:`with` o" " llamando a ``f.close()``, intentar volver a utilizarlo fallará " "automáticamente::" #: ../Doc/tutorial/inputoutput.rst:350 msgid "Methods of File Objects" msgstr "Métodos de los objetos Archivo" #: ../Doc/tutorial/inputoutput.rst:352 msgid "" "The rest of the examples in this section will assume that a file object " "called ``f`` has already been created." msgstr "" "El resto de los ejemplos en esta sección asumirán que ya se creó un objeto " "archivo llamado ``f``." #: ../Doc/tutorial/inputoutput.rst:355 msgid "" "To read a file's contents, call ``f.read(size)``, which reads some quantity " "of data and returns it as a string (in text mode) or bytes object (in binary" " mode). *size* is an optional numeric argument. When *size* is omitted or " "negative, the entire contents of the file will be read and returned; it's " "your problem if the file is twice as large as your machine's memory. " "Otherwise, at most *size* bytes are read and returned. If the end of the " "file has been reached, ``f.read()`` will return an empty string (``''``). " "::" msgstr "" "Para leer el contenido de una archivo llamá a ``f.read(cantidad)``, el cual " "lee alguna cantidad de datos y los devuelve como una cadena de (en modo " "texto) o un objeto de bytes (en modo binario). *cantidad* es un argumento " "numérico opcional. Cuando se omite *cantidad* o es negativo, el contenido " "entero del archivo será leido y devuelto; es tu problema si el archivo es el" " doble de grande que la memoria de tu máquina. De otra manera, a lo sumo " "una *cantidad* de bytes son leídos y devueltos. Si se alcanzó el fin del " "archivo, ``f.read()`` devolverá una cadena vacía (``\"\"``). ::" #: ../Doc/tutorial/inputoutput.rst:369 msgid "" "``f.readline()`` reads a single line from the file; a newline character " "(``\\n``) is left at the end of the string, and is only omitted on the last " "line of the file if the file doesn't end in a newline. This makes the " "return value unambiguous; if ``f.readline()`` returns an empty string, the " "end of the file has been reached, while a blank line is represented by " "``'\\n'``, a string containing only a single newline. ::" msgstr "" "``f.readline()`` lee una sola linea del archivo; el caracter de fin de linea" " (``\\n``) se deja al final de la cadena, y sólo se omite en la última linea" " del archivo si el mismo no termina en un fin de linea. Esto hace que el " "valor de retorno no sea ambiguo; si ``f.readline()`` devuelve una cadena " "vacía, es que se alcanzó el fin del archivo, mientras que una linea en " "blanco es representada por ``'\\n'``, una cadena conteniendo sólo un único " "fin de linea. ::" #: ../Doc/tutorial/inputoutput.rst:383 msgid "" "For reading lines from a file, you can loop over the file object. This is " "memory efficient, fast, and leads to simple code::" msgstr "" "Para leer líneas de un archivo, podés iterar sobre el objeto archivo. Esto " "es eficiente en memoria, rápido, y conduce a un código más simple::" #: ../Doc/tutorial/inputoutput.rst:392 msgid "" "If you want to read all the lines of a file in a list you can also use " "``list(f)`` or ``f.readlines()``." msgstr "" "Si querés leer todas las líneas de un archivo en una lista también podés " "usar ``list(f)`` o ``f.readlines()``." #: ../Doc/tutorial/inputoutput.rst:395 msgid "" "``f.write(string)`` writes the contents of *string* to the file, returning " "the number of characters written. ::" msgstr "" "``f.write(cadena)`` escribe el contenido de la *cadena* al archivo, " "devolviendo la cantidad de caracteres escritos. ::" #: ../Doc/tutorial/inputoutput.rst:401 msgid "" "Other types of objects need to be converted -- either to a string (in text " "mode) or a bytes object (in binary mode) -- before writing them::" msgstr "" "Otros tipos de objetos necesitan serconvertidos -- tanto a una cadena (en " "modo texto) o a un objeto de bytes (en modo binario) -- antes de " "escribirlos::" #: ../Doc/tutorial/inputoutput.rst:409 msgid "" "``f.tell()`` returns an integer giving the file object's current position in" " the file represented as number of bytes from the beginning of the file when" " in binary mode and an opaque number when in text mode." msgstr "" "``f.tell()`` devuelve un entero que indica la posición actual en el archivo " "representada como número de bytes desde el comienzo del archivo en modo " "binario y un número opaco en modo texto." #: ../Doc/tutorial/inputoutput.rst:413 msgid "" "To change the file object's position, use ``f.seek(offset, from_what)``. " "The position is computed from adding *offset* to a reference point; the " "reference point is selected by the *from_what* argument. A *from_what* " "value of 0 measures from the beginning of the file, 1 uses the current file " "position, and 2 uses the end of the file as the reference point. " "*from_what* can be omitted and defaults to 0, using the beginning of the " "file as the reference point. ::" msgstr "" "Para cambiar la posición del objeto archivo, usá ``f.seek(desplazamiento, " "desde_donde)``. La posición es calculada agregando el *desplazamiento* a un" " punto de referencia; el punto de referencia se selecciona del argumento " "*desde_donde*. Un valor *desde_donde* de 0 mide desde el comienzo del " "archivo, 1 usa la posición actual del archivo, y 2 usa el fin del archivo " "como punto de referencia. *desde_donde* puede omitirse, el default es 0, " "usando el comienzo del archivo como punto de referencia. ::" #: ../Doc/tutorial/inputoutput.rst:432 msgid "" "In text files (those opened without a ``b`` in the mode string), only seeks " "relative to the beginning of the file are allowed (the exception being " "seeking to the very file end with ``seek(0, 2)``) and the only valid " "*offset* values are those returned from the ``f.tell()``, or zero. Any other" " *offset* value produces undefined behaviour." msgstr "" "En los archivos de texto (aquellos que se abrieron sin una ``b`` en el " "modo), se permiten solamente desplazamientos con ``seek`` relativos al " "comienzo (con la excepción de ir justo al final con ``seek(0, 2)``) y los " "únicos valores de *desplazamiento* válidos son aquellos retornados por " "``f.tell()``, o cero. Cualquier otro valor de *desplazamiento* produce un " "comportamiento indefinido." #: ../Doc/tutorial/inputoutput.rst:438 msgid "" "File objects have some additional methods, such as :meth:`~file.isatty` and " ":meth:`~file.truncate` which are less frequently used; consult the Library " "Reference for a complete guide to file objects." msgstr "" "Los objetos archivo tienen algunos métodos más, como :meth:`isatty` y " ":meth:`truncate` que son usados menos frecuentemente; consultá la Referencia" " de la Biblioteca para una guía completa sobre los objetos archivo." #: ../Doc/tutorial/inputoutput.rst:446 msgid "Saving structured data with :mod:`json`" msgstr "Guardar datos estructurados con :mod:`json`" #: ../Doc/tutorial/inputoutput.rst:450 msgid "" "Strings can easily be written to and read from a file. Numbers take a bit " "more effort, since the :meth:`read` method only returns strings, which will " "have to be passed to a function like :func:`int`, which takes a string like " "``'123'`` and returns its numeric value 123. When you want to save more " "complex data types like nested lists and dictionaries, parsing and " "serializing by hand becomes complicated." msgstr "" "Las cadenas pueden facilmente escribirse y leerse de un archivo. Los " "números toman algo más de esfuerzo, ya que el método :meth:`read` sólo " "devuelve cadenas, que tendrán que ser pasadas a una función como " ":func:`int`, que toma una cadena como ``'123'`` y devuelve su valor numérico" " 123. Sin embargo, cuando querés grabar tipos de datos más complejos como " "listas, diccionarios, o instancias de clases, las cosas se ponen más " "complicadas." #: ../Doc/tutorial/inputoutput.rst:457 msgid "" "Rather than having users constantly writing and debugging code to save " "complicated data types to files, Python allows you to use the popular data " "interchange format called `JSON (JavaScript Object Notation) " "`_. The standard module called :mod:`json` can take Python" " data hierarchies, and convert them to string representations; this process " "is called :dfn:`serializing`. Reconstructing the data from the string " "representation is called :dfn:`deserializing`. Between serializing and " "deserializing, the string representing the object may have been stored in a " "file or data, or sent over a network connection to some distant machine." msgstr "" "En lugar de tener a los usuarios constantemente escribiendo y debugueando " "código para grabar tipos de datos complicados, Python te permite usar " "formato intercambiable de datos popular llamado `JSON (JavaScript Object " "Notation) `_. El módulo estandar llamado :mod:`json` puede " "tomar datos de Python con una jerarquía, y convertirlo a representaciones de" " cadena de caracteres; este proceso es llamado :dfn:`serializing`. " "Reconstruir los datos desde la representación de cadena de caracteres es " "llamado :dfn:`deserializing`. Entre serialización y deserialización, la " "cadena de caracteres representando el objeto quizás haya sido guardado en un" " archivo o datos, o enviado a una máquina distante por una conexión de red." #: ../Doc/tutorial/inputoutput.rst:468 msgid "" "The JSON format is commonly used by modern applications to allow for data " "exchange. Many programmers are already familiar with it, which makes it a " "good choice for interoperability." msgstr "" #: ../Doc/tutorial/inputoutput.rst:472 msgid "" "If you have an object ``x``, you can view its JSON string representation " "with a simple line of code::" msgstr "" "Si tienes un objeto ``x``, puedes ver su representación JSON con una simple " "línea de código::" #: ../Doc/tutorial/inputoutput.rst:479 msgid "" "Another variant of the :func:`~json.dumps` function, called " ":func:`~json.dump`, simply serializes the object to a :term:`text file`. So" " if ``f`` is a :term:`text file` object opened for writing, we can do this::" msgstr "" "Otra variante de la función :func:`~json.dumps`, llamada :func:`~json.dump`," " simplemente serializa el objeto a un :term:`archivo de texto`. Así que, si " "``f`` es un objeto :term:`archivo de texto` abierto para escritura, podemos " "hacer::" #: ../Doc/tutorial/inputoutput.rst:485 msgid "" "To decode the object again, if ``f`` is a :term:`text file` object which has" " been opened for reading::" msgstr "" "Para decodificar un objeto nuevamente, si ``f`` es un objeto :term:`archivo " "de texto` que fue abierto para lectura::" #: ../Doc/tutorial/inputoutput.rst:490 msgid "" "This simple serialization technique can handle lists and dictionaries, but " "serializing arbitrary class instances in JSON requires a bit of extra " "effort. The reference for the :mod:`json` module contains an explanation of " "this." msgstr "" "La simple técnica de serialización puede manejar listas y diccionarios, pero" " serializar instancias de clases arbitrarias en JSON requiere un poco de " "esfuerzo extra. La referencia del módulo :mod:`json` contiene una " "explicación de esto." #: ../Doc/tutorial/inputoutput.rst:496 msgid ":mod:`pickle` - the pickle module" msgstr "" #: ../Doc/tutorial/inputoutput.rst:498 msgid "" "Contrary to :ref:`JSON `, *pickle* is a protocol which allows the " "serialization of arbitrarily complex Python objects. As such, it is " "specific to Python and cannot be used to communicate with applications " "written in other languages. It is also insecure by default: deserializing " "pickle data coming from an untrusted source can execute arbitrary code, if " "the data was crafted by a skilled attacker." msgstr ""