# Copyright (C) 2001-2020, Python Software Foundation
# This file is distributed under the same license as the Python package.
# Maintained by the python-doc-es workteam.
# docs-es@python.org /
# https://mail.python.org/mailman3/lists/docs-es.python.org/
# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to
# get the list of volunteers
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-05-05 12:54+0200\n"
"PO-Revision-Date: 2020-05-09 14:34+0200\n"
"Last-Translator: \n"
"Language: es\n"
"Language-Team: python-doc-es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"X-Generator: Poedit 2.3\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 tercera 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 ""
"A menudo se querrá tener más control sobre el formato de la salida, y no "
"simplemente imprimir valores separados por espacios. Para ello, hay varias "
"maneras de dar formato a la salida."
#: ../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 ""
"Para usar :ref:`formatted string literals `, comience una "
"cadena con ``f`` o ``F`` antes de la comilla de apertura o comillas triples. "
"Dentro de esta cadena, se puede escribir una expresión de Python entre los "
"caracteres ``{`` y ``}`` que pueden hacer referencia a variables o valores "
"literales."
#: ../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 ""
"El método :meth:`str.format` requiere más esfuerzo manual. Se seguirá "
"usando ``{`` y ``}`` para marcar dónde se sustituirá una variable y puede "
"proporcionar directivas de formato detalladas, pero también se debe "
"proporcionar la información de lo que se va a formatear."
#: ../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 ""
"Por último, puede realizar todo el control de cadenas usted mismo mediante "
"operaciones de concatenación y segmentación de cadenas para crear cualquier "
"diseño que se pueda imaginar. El tipo de cadena tiene algunos métodos que "
"realizan operaciones útiles para rellenar cadenas a un ancho de columna "
"determinado."
#: ../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 ""
"Cuando no necesita una salida elegante, pero solo desea una visualización "
"rápida de algunas variables con fines de depuración, puede convertir "
"cualquier valor en una cadena con las funciones :func:`repr` o :func:`str`."
#: ../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` retorna representaciones de los valores que son "
"bastante legibles por humanos, mientras que :func:`repr` genera "
"representaciones que pueden ser leídas por el intérprete (o forzarían un :"
"exc:`SyntaxError` si no hay sintaxis equivalente). Para objetos que no "
"tienen una representación en particular para consumo humano, :func:`str` "
"retornará 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 ""
"El módulo :mod:`string` contiene una clase :class:`~string.Template` que "
"ofrece otra forma de sustituir valores en cadenas, utilizando marcadores de "
"posición como `$x`` y reemplazarlos con valores desde un diccionario, pero "
"esto ofrece mucho menos control en el formato."
#: ../Doc/tutorial/inputoutput.rst:100
msgid "Formatted String Literals"
msgstr "Formatear cadenas literales"
#: ../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 ""
":ref:`Formatted string literals ` (también llamados f-strings "
"para abreviar) le permiten incluir el valor de las expresiones de Python "
"dentro de una cadena prefijando la cadena con ``f`` o ``F`` y escribiendo "
"expresiones como ``{expresion}``."
#: ../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 ""
"La expresión puede ir seguida de un especificador de formato opcional . Esto "
"permite un mayor control sobre cómo se formatea el valor. En el ejemplo "
"siguiente se redondea pi a tres lugares después del decimal::"
#: ../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 ""
"Pasar un entero después de ``':'`` hará que ese campo sea un número mínimo "
"de caracteres de ancho. Esto es útil para hacer que las columnas se "
"alineen. ::"
#: ../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 ""
"Se pueden utilizar otros modificadores para convertir el valor antes de "
"formatearlo. ``'!a'`` se aplica :func:`ascii`, ``'!s'`` se aplica :func:"
"`str`, y ``'!r'`` se aplica :func:`repr`::"
#: ../Doc/tutorial/inputoutput.rst:136
msgid ""
"For a reference on these format specifications, see the reference guide for "
"the :ref:`formatspec`."
msgstr ""
"Para obtener una referencia sobre estas especificaciones de formato, "
"consulte la guía de referencia para :ref:`formatspec`."
#: ../Doc/tutorial/inputoutput.rst:142
msgid "The String format() Method"
msgstr "El método format() de cadenas"
#: ../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 :meth:`str.format`. ::"
#: ../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 "
"se referencian 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 hacer, también, 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 retorna 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 ""
"Como ejemplo, las siguientes lineas producen un conjunto de columnas "
"alineadas ordenadamente que dan enteros y sus cuadrados y cubos:"
#: ../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 "Formateo manual de cadenas"
#: ../Doc/tutorial/inputoutput.rst:216
msgid "Here's the same table of squares and cubes, formatted manually::"
msgstr ""
"Aquí está la misma tabla de cuadrados y cubos, formateados manualmente:"
#: ../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 ""
"(Resaltar que el espacio existente entre cada columna es añadido debido a "
"como funciona :func:`print`: siempre añade espacios entre sus argumentos)."
#: ../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 ""
"El método :meth:`str.rjust` de los objetos cadena justifica a la derecha en "
"un campo de anchura predeterminada rellenando con espacios a la izquierda. "
"Métodos similares a este son :meth:`str.ljust` y :meth:`str.center`. Estos "
"métodos no escriben nada, simplemente retornan una nueva cadena. Si la "
"cadena de entrada es demasiado larga no la truncarán sino que la retornarán "
"sin cambios; esto desordenará la disposición de la columna que es, "
"normalmente, mejor que la alternativa, la cual podría dejar sin usar un "
"valor. (Si realmente deseas truncado siempre puedes añadir una operación de "
"rebanado, como en ``x.ljust(n)[:n]``.)"
#: ../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 retorna 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` retorna un :term:`file object`, 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 ""
"El primer argumento es una cadena que contiene el nombre del fichero. El "
"segundo argumento es otra cadena que contiene unos pocos caracteres "
"describiendo la forma en que el fichero será usado. *mode* puede ser ``'r'`` "
"cuando el fichero solo se leerá, ``'w'`` para solo escritura (un fichero "
"existente con el mismo nombre se borrará) y ``'a'`` abre el fichero para "
"agregar.; cualquier dato que se escribe en el fichero se añade "
"automáticamente al final. ``'r+'`` abre el fichero tanto para lectura como "
"para escritura. El argumento *mode* es opcional; se asume que se usará "
"``'r'`` si se omite."
#: ../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 ""
"Normalmente, los ficheros se abren en :dfn:`modo texto`, significa que lees "
"y escribes caracteres desde y hacia el fichero, el cual se codifica con una "
"codificación específica. Si no se especifica la codificación el valor por "
"defecto depende de la plataforma (ver :func:`open`). ``'b'`` agregado al "
"modo abre el fichero en :dfn:`modo binario`: y los datos se leerán y "
"escribirán en forma de objetos de bytes. Este modo debería usarse en todos "
"los ficheros que no contienen texto."
#: ../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:330
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:338
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:352
msgid "Methods of File Objects"
msgstr "Métodos de los objetos Archivo"
#: ../Doc/tutorial/inputoutput.rst:354
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:357
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* characters (in text mode) or *size* bytes (in "
"binary mode) 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 utiliza ``f.read(size)``, el cual lee "
"alguna cantidad de datos y los retorna como una cadena de (en modo texto) o "
"un objeto de bytes (en modo binario). *size* es un argumento numérico "
"opcional. Cuando se omite *size* o es negativo, el contenido entero del "
"archivo será leído y retornado; es tu problema si el archivo es el doble de "
"grande que la memoria de tu máquina. De otra manera, como máximo *size* "
"caracteres (en modo texto) o *size* bytes (en modo binario) son leídos y "
"retornados. Si se alcanzó el fin del archivo, ``f.read()`` retornará una "
"cadena vacía (``''``). ::"
#: ../Doc/tutorial/inputoutput.rst:371
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 carácter 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()`` retorna 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:385
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:394
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:397
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, "
"retornando la cantidad de caracteres escritos. ::"
#: ../Doc/tutorial/inputoutput.rst:403
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 ser convertidos -- tanto a una cadena (en "
"modo texto) o a un objeto de bytes (en modo binario) -- antes de "
"escribirlos::"
#: ../Doc/tutorial/inputoutput.rst:411
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()`` retorna 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:415
msgid ""
"To change the file object's position, use ``f.seek(offset, whence)``. The "
"position is computed from adding *offset* to a reference point; the "
"reference point is selected by the *whence* argument. A *whence* 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. *whence* 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, utiliza ``f.seek(offset, "
"whence)``. La posición es calculada agregando el *offset* a un punto de "
"referencia; el punto de referencia se selecciona del argumento *whence*. Un "
"valor *whence* 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. "
"*whence* puede omitirse, el valor por defecto es 0, usando el comienzo del "
"archivo como punto de referencia. ::"
#: ../Doc/tutorial/inputoutput.rst:434
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:440
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:448
msgid "Saving structured data with :mod:`json`"
msgstr "Guardar datos estructurados con :mod:`json`"
#: ../Doc/tutorial/inputoutput.rst:452
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 fácilmente escribirse y leerse de un archivo. Los "
"números toman algo más de esfuerzo, ya que el método :meth:`read` sólo "
"retorna cadenas, que tendrán que ser pasadas a una función como :func:`int`, "
"que toma una cadena como ``'123'`` y retorna 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:459
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 estándar 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:470
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 ""
"El formato JSON es comúnmente usando por aplicaciones modernas para permitir "
"el intercambio de datos. Muchos programadores ya están familiarizados con "
"él, lo cual lo convierte en una buena opción para la interoperabilidad."
#: ../Doc/tutorial/inputoutput.rst:474
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:481
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:487
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:492
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:498
msgid ":mod:`pickle` - the pickle module"
msgstr ":mod:`pickle` - El módulo *pickle*"
#: ../Doc/tutorial/inputoutput.rst:500
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 ""
"Contrariamente a :ref:`JSON `, *pickle* es un protocolo que "
"permite la serialización de objetos Python arbitrariamente complejos. Como "
"tal, es específico de Python y no se puede utilizar para comunicarse con "
"aplicaciones escritas en otros idiomas. También es inseguro de forma "
"predeterminada: deserializar los datos de *pickle* procedentes de un origen "
"que no es de confianza puede ejecutar código arbitrario, si los datos fueron "
"creados por un atacante experto."