# 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: 2023-10-12 19:43+0200\n" "PO-Revision-Date: 2024-01-21 18:29+0100\n" "Last-Translator: \n" "Language-Team: python-doc-es\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" "X-Generator: Poedit 3.0.1\n" #: ../Doc/whatsnew/2.6.rst:5 msgid "What's New in Python 2.6" msgstr "Qué hay de nuevo en Python 2.6" #: ../Doc/whatsnew/2.6.rst msgid "Author" msgstr "Autor" #: ../Doc/whatsnew/2.6.rst:9 msgid "A.M. Kuchling (amk at amk.ca)" msgstr "A.M. Kuchling (amk arroba amk.ca)" #: ../Doc/whatsnew/2.6.rst:52 msgid "" "This article explains the new features in Python 2.6, released on October 1, " "2008. The release schedule is described in :pep:`361`." msgstr "" "Este artículo explica las nuevas funciones de Python 2.6, publicadas el 1 de " "octubre de 2008. El programa de publicación se describe en :pep:`361`." #: ../Doc/whatsnew/2.6.rst:55 msgid "" "The major theme of Python 2.6 is preparing the migration path to Python 3.0, " "a major redesign of the language. Whenever possible, Python 2.6 " "incorporates new features and syntax from 3.0 while remaining compatible " "with existing code by not removing older features or syntax. When it's not " "possible to do that, Python 2.6 tries to do what it can, adding " "compatibility functions in a :mod:`future_builtins` module and a :option:" "`!-3` switch to warn about usages that will become unsupported in 3.0." msgstr "" "El tema principal de Python 2.6 es preparar el camino de migración a Python " "3.0, un importante rediseño del lenguaje. Siempre que sea posible, Python " "2.6 incorpora nuevas características y sintaxis de 3.0 mientras sigue siendo " "compatible con el código existente al no eliminar características o sintaxis " "más antiguas. Cuando no es posible hacer eso, Python 2.6 intenta hacer lo " "que puede, agregando funciones de compatibilidad en el módulo :mod:" "`future_builtins` y un interruptor :option:`!-3` para advertir sobre usos " "que dejarán de ser compatibles en 3.0 ." #: ../Doc/whatsnew/2.6.rst:64 msgid "" "Some significant new packages have been added to the standard library, such " "as the :mod:`multiprocessing` and :mod:`json` modules, but there aren't many " "new features that aren't related to Python 3.0 in some way." msgstr "" "Se han agregado algunos paquetes nuevos importantes a la biblioteca " "estándar, como los módulos :mod:`multiprocessing` y :mod:`json`, pero no hay " "muchas características nuevas que no estén relacionadas con Python 3.0 de " "alguna manera." #: ../Doc/whatsnew/2.6.rst:69 msgid "" "Python 2.6 also sees a number of improvements and bugfixes throughout the " "source. A search through the change logs finds there were 259 patches " "applied and 612 bugs fixed between Python 2.5 and 2.6. Both figures are " "likely to be underestimates." msgstr "" "Python 2.6 también incluye una serie de mejoras y correcciones de errores en " "el código fuente. Una búsqueda en los registros de cambios encuentra que se " "aplicaron 259 parches y se corrigieron 612 errores entre Python 2.5 y 2.6. " "Es probable que ambas cifras estén subestimadas." #: ../Doc/whatsnew/2.6.rst:74 msgid "" "This article doesn't attempt to provide a complete specification of the new " "features, but instead provides a convenient overview. For full details, you " "should refer to the documentation for Python 2.6. If you want to understand " "the rationale for the design and implementation, refer to the PEP for a " "particular new feature. Whenever possible, \"What's New in Python\" links to " "the bug/patch item for each change." msgstr "" "Este artículo no intenta proporcionar una especificación completa de las " "nuevas características, sino que proporciona una conveniente descripción " "general. Para obtener detalles completos, debe consultar la documentación de " "Python 2.6. Si desea comprender la justificación del diseño y la " "implementación, consulte el PEP de una característica nueva en particular. " "Siempre que sea posible, \"Qué hay de nuevo en Python\" enlaza con el " "elemento de error / parche para cada cambio." #: ../Doc/whatsnew/2.6.rst:90 msgid "Python 3.0" msgstr "Python 3.0" #: ../Doc/whatsnew/2.6.rst:92 msgid "" "The development cycle for Python versions 2.6 and 3.0 was synchronized, with " "the alpha and beta releases for both versions being made on the same days. " "The development of 3.0 has influenced many features in 2.6." msgstr "" "El ciclo de desarrollo de las versiones 2.6 y 3.0 de Python se sincronizó, y " "las versiones alfa y beta de ambos lanzamientos se realizaron los mismos " "días. El desarrollo de 3.0 ha influido en muchas características de 2.6." #: ../Doc/whatsnew/2.6.rst:97 msgid "" "Python 3.0 is a far-ranging redesign of Python that breaks compatibility " "with the 2.x series. This means that existing Python code will need some " "conversion in order to run on Python 3.0. However, not all the changes in " "3.0 necessarily break compatibility. In cases where new features won't " "cause existing code to break, they've been backported to 2.6 and are " "described in this document in the appropriate place. Some of the 3.0-" "derived features are:" msgstr "" "Python 3.0 es un rediseño de Python de gran alcance que rompe la " "compatibilidad con la serie 2.x. Esto significa que el código Python " "existente necesitará alguna conversión para poder ejecutarse en Python 3.0. " "Sin embargo, no todos los cambios en 3.0 rompen necesariamente la " "compatibilidad. En los casos en que las nuevas funciones no provoquen la " "rotura del código existente, se han actualizado a 2.6 y se describen en este " "documento en el lugar correspondiente. Algunas de las características " "derivadas de 3.0 son:" #: ../Doc/whatsnew/2.6.rst:106 msgid "" "A :meth:`__complex__` method for converting objects to a complex number." msgstr "" "El método :meth:`__complex__` para convertir objetos en un número complejo." #: ../Doc/whatsnew/2.6.rst:107 msgid "Alternate syntax for catching exceptions: ``except TypeError as exc``." msgstr "" "Sintaxis alternativa para detectar excepciones: ``except TypeError as exc``." #: ../Doc/whatsnew/2.6.rst:108 msgid "" "The addition of :func:`functools.reduce` as a synonym for the built-in :func:" "`reduce` function." msgstr "" "La adición de :func:`functools.reduce` como sinónimo de la función " "incorporada :func:`reduce`." #: ../Doc/whatsnew/2.6.rst:111 msgid "" "Python 3.0 adds several new built-in functions and changes the semantics of " "some existing builtins. Functions that are new in 3.0 such as :func:`bin` " "have simply been added to Python 2.6, but existing builtins haven't been " "changed; instead, the :mod:`future_builtins` module has versions with the " "new 3.0 semantics. Code written to be compatible with 3.0 can do ``from " "future_builtins import hex, map`` as necessary." msgstr "" "Python 3.0 agrega varias funciones integradas nuevas y cambia la semántica " "de algunas integradas existentes. Las funciones que son nuevas en 3.0 como :" "func:`bin` simplemente se han agregado a Python 2.6, pero las funciones " "existentes no se han cambiado; en cambio, el módulo :mod:`future_builtins` " "tiene versiones con la nueva semántica 3.0. El código escrito puede ser " "compatible con 3.0 haciendo ``from future_builtins import hex, map`` según " "sea necesario." #: ../Doc/whatsnew/2.6.rst:119 msgid "" "A new command-line switch, :option:`!-3`, enables warnings about features " "that will be removed in Python 3.0. You can run code with this switch to " "see how much work will be necessary to port code to 3.0. The value of this " "switch is available to Python code as the boolean variable :data:`sys." "py3kwarning`, and to C extension code as :c:data:`Py_Py3kWarningFlag`." msgstr "" "Un nuevo modificador de línea de comandos, :option:`!-3`, habilita " "advertencias sobre características que se eliminarán en Python 3.0. Puede " "ejecutar código con este modificador para ver cuánto trabajo será necesario " "para migrar el código a 3.0. El valor de este modificador está disponible " "para el código Python como la variable booleana :data:`sys.py3kwarning`, y " "para el código de extensión C como :c:data:`Py_Py3kWarningFlag`." #: ../Doc/whatsnew/2.6.rst:128 msgid "" "The 3\\ *xxx* series of PEPs, which contains proposals for Python 3.0. :pep:" "`3000` describes the development process for Python 3.0. Start with :pep:" "`3100` that describes the general goals for Python 3.0, and then explore the " "higher-numbered PEPS that propose specific features." msgstr "" "Las series 3xxx de PEP, que contienen propuestas para Python 3.0. :pep:" "`3000` describe el proceso de desarrollo de Python 3.0. Empiece con :pep:" "`3100` que describe los objetivos generales de Python 3.0, y luego explore " "los PEPS con números más altos que proponen características específicas." #: ../Doc/whatsnew/2.6.rst:136 msgid "Changes to the Development Process" msgstr "Cambios en el proceso de desarrollo" #: ../Doc/whatsnew/2.6.rst:138 msgid "" "While 2.6 was being developed, the Python development process underwent two " "significant changes: we switched from SourceForge's issue tracker to a " "customized Roundup installation, and the documentation was converted from " "LaTeX to reStructuredText." msgstr "" "Mientras se desarrollaba 2.6, el proceso de desarrollo de Python experimentó " "dos cambios significativos: cambiamos del seguidor de incidentes (*issue " "tracker*) de SourceForge a una instalación personalizada de Roundup, y la " "documentación se convirtió de LaTeX a reStructuredText." #: ../Doc/whatsnew/2.6.rst:145 msgid "New Issue Tracker: Roundup" msgstr "Nuevo seguidor de incidentes: Roundup" #: ../Doc/whatsnew/2.6.rst:147 msgid "" "For a long time, the Python developers had been growing increasingly annoyed " "by SourceForge's bug tracker. SourceForge's hosted solution doesn't permit " "much customization; for example, it wasn't possible to customize the life " "cycle of issues." msgstr "" "Durante mucho tiempo, los desarrolladores de Python estaban cada vez más " "molestos por el seguidor de errores de SourceForge. La solución alojada en " "SourceForge no permite mucha personalización; por ejemplo, no fue posible " "personalizar el ciclo de vida de los problemas." #: ../Doc/whatsnew/2.6.rst:152 msgid "" "The infrastructure committee of the Python Software Foundation therefore " "posted a call for issue trackers, asking volunteers to set up different " "products and import some of the bugs and patches from SourceForge. Four " "different trackers were examined: `Jira `__, `Launchpad `__, `Roundup `__, and `Trac `__. The " "committee eventually settled on Jira and Roundup as the two candidates. " "Jira is a commercial product that offers no-cost hosted instances to free-" "software projects; Roundup is an open-source project that requires " "volunteers to administer it and a server to host it." msgstr "" "Por lo tanto, el comité de infraestructura de la Python Software Foundation " "publicó una convocatoria de rastreadores de problemas, solicitando " "voluntarios para configurar diferentes productos e importar algunos de los " "errores y parches de SourceForge. Se examinaron cuatro rastreadores " "diferentes: `Jira `__, `Launchpad " "`__, `Roundup `__ y " "`Trac `__. El comité finalmente se decidió por " "Jira y Roundup como los dos candidatos. Jira es un producto comercial que " "ofrece instancias alojadas sin costo para proyectos de software libre; " "Roundup es un proyecto de código abierto que requiere voluntarios para " "administrarlo y un servidor para alojarlo." #: ../Doc/whatsnew/2.6.rst:166 msgid "" "After posting a call for volunteers, a new Roundup installation was set up " "at https://bugs.python.org. One installation of Roundup can host multiple " "trackers, and this server now also hosts issue trackers for Jython and for " "the Python web site. It will surely find other uses in the future. Where " "possible, this edition of \"What's New in Python\" links to the bug/patch " "item for each change." msgstr "" "Después de publicar una llamada para voluntarios, se configuró una nueva " "instalación de Roundup en https://bugs.python.org. Una instalación de " "Roundup puede alojar varios seguidores, y este servidor ahora también aloja " "seguidores de problemas para Jython y para el sitio web de Python. " "Seguramente encontrará otros usos en el futuro. Siempre que sea posible, " "esta edición de \"Qué hay de nuevo en Python\" se vincula al elemento de " "error/parche para cada cambio." #: ../Doc/whatsnew/2.6.rst:174 msgid "" "Hosting of the Python bug tracker is kindly provided by `Upfront Systems " "`__ of Stellenbosch, South Africa. Martin " "von Löwis put a lot of effort into importing existing bugs and patches from " "SourceForge; his scripts for this import operation are at ``https://svn." "python.org/view/tracker/importer/`` and may be useful to other projects " "wishing to move from SourceForge to Roundup." msgstr "" "`Upfront Systems `__ de Stellenbosch, " "Sudáfrica, proporciona amablemente el alojamiento del rastreador de errores " "de Python. Martin von Löwis se esforzó mucho en importar errores y parches " "existentes desde SourceForge; Sus scripts para esta operación de importación " "están en ``https://svn.python.org/view/tracker/importer/`` y pueden ser " "útiles para otros proyectos que deseen pasar de SourceForge a Roundup." #: ../Doc/whatsnew/2.6.rst:185 msgid "https://bugs.python.org" msgstr "https://bugs.python.org" #: ../Doc/whatsnew/2.6.rst:185 msgid "The Python bug tracker." msgstr "El seguidor de errores de Python." #: ../Doc/whatsnew/2.6.rst:188 msgid "https://bugs.jython.org:" msgstr "https://bugs.jython.org:" #: ../Doc/whatsnew/2.6.rst:188 msgid "The Jython bug tracker." msgstr "El seguidor de errores de Jython." #: ../Doc/whatsnew/2.6.rst:191 msgid "https://roundup.sourceforge.io/" msgstr "https://roundup.sourceforge.io/" #: ../Doc/whatsnew/2.6.rst:191 msgid "Roundup downloads and documentation." msgstr "Descargas y documentación de Roundup." #: ../Doc/whatsnew/2.6.rst:193 msgid "https://svn.python.org/view/tracker/importer/" msgstr "https://svn.python.org/view/tracker/importer/" #: ../Doc/whatsnew/2.6.rst:194 msgid "Martin von Löwis's conversion scripts." msgstr "Scripts de conversión de Martin von Löwis." #: ../Doc/whatsnew/2.6.rst:197 msgid "New Documentation Format: reStructuredText Using Sphinx" msgstr "Nuevo formato de documentación: texto reestructurado con Sphinx" #: ../Doc/whatsnew/2.6.rst:199 msgid "" "The Python documentation was written using LaTeX since the project started " "around 1989. In the 1980s and early 1990s, most documentation was printed " "out for later study, not viewed online. LaTeX was widely used because it " "provided attractive printed output while remaining straightforward to write " "once the basic rules of the markup were learned." msgstr "" "La documentación de Python se escribió usando LaTeX desde que el proyecto " "comenzó alrededor de 1989. En la década de 1980 y principios de la de 1990, " "la mayor parte de la documentación se imprimió para su estudio posterior, no " "se vio en línea. LaTeX fue ampliamente utilizado porque proporcionaba una " "salida impresa atractiva sin dejar de ser sencillo de escribir una vez que " "se aprendían las reglas básicas de marcado." #: ../Doc/whatsnew/2.6.rst:206 msgid "" "Today LaTeX is still used for writing publications destined for printing, " "but the landscape for programming tools has shifted. We no longer print out " "reams of documentation; instead, we browse through it online and HTML has " "become the most important format to support. Unfortunately, converting LaTeX " "to HTML is fairly complicated and Fred L. Drake Jr., the long-time Python " "documentation editor, spent a lot of time maintaining the conversion " "process. Occasionally people would suggest converting the documentation " "into SGML and later XML, but performing a good conversion is a major task " "and no one ever committed the time required to finish the job." msgstr "" "Hoy en día, LaTeX todavía se usa para escribir publicaciones destinadas a la " "impresión, pero el panorama de las herramientas de programación ha cambiado. " "Ya no imprimimos montones de documentación; en su lugar, lo navegamos en " "línea y HTML se ha convertido en el formato más importante para dar soporte. " "Desafortunadamente, convertir LaTeX a HTML es bastante complicado y Fred L. " "Drake Jr., el editor de documentación de Python desde hace mucho tiempo, " "pasó mucho tiempo manteniendo el proceso de conversión. De vez en cuando, la " "gente sugeriría convertir la documentación a SGML y luego a XML, pero " "realizar una buena conversión es una tarea importante y nadie comprometió el " "tiempo necesario para terminar el trabajo." #: ../Doc/whatsnew/2.6.rst:217 msgid "" "During the 2.6 development cycle, Georg Brandl put a lot of effort into " "building a new toolchain for processing the documentation. The resulting " "package is called Sphinx, and is available from https://www.sphinx-doc.org/." msgstr "" "Durante el ciclo de desarrollo 2.6, Georg Brandl se esforzó mucho en " "construir una nueva cadena de herramientas para procesar la documentación. " "El paquete resultante se llama Sphinx y está disponible en https://www." "sphinx-doc.org/." #: ../Doc/whatsnew/2.6.rst:222 msgid "" "Sphinx concentrates on HTML output, producing attractively styled and modern " "HTML; printed output is still supported through conversion to LaTeX. The " "input format is reStructuredText, a markup syntax supporting custom " "extensions and directives that is commonly used in the Python community." msgstr "" "Sphinx se concentra en la salida HTML, produciendo HTML moderno y con un " "estilo atractivo; la salida impresa todavía se admite mediante la conversión " "a LaTeX. El formato de entrada es reStructuredText, una sintaxis de marcado " "que admite extensiones y directivas personalizadas que se usa comúnmente en " "la comunidad de Python." #: ../Doc/whatsnew/2.6.rst:228 msgid "" "Sphinx is a standalone package that can be used for writing, and almost two " "dozen other projects (`listed on the Sphinx web site `__) have adopted Sphinx as their documentation " "tool." msgstr "" "Sphinx es un paquete independiente que se puede usar para escribir, y casi " "dos docenas de otros proyectos (`enumerados en el sitio web de Sphinx " "`__) han adoptado Sphinx " "como su herramienta de documentación." #: ../Doc/whatsnew/2.6.rst:236 msgid "`Documenting Python `__" msgstr "`Documentando Python `__" #: ../Doc/whatsnew/2.6.rst:236 msgid "Describes how to write for Python's documentation." msgstr "Describe cómo escribir para la documentación de Python." #: ../Doc/whatsnew/2.6.rst:239 msgid "`Sphinx `__" msgstr "`Sphinx `__" #: ../Doc/whatsnew/2.6.rst:239 msgid "Documentation and code for the Sphinx toolchain." msgstr "Documentación y código para la cadena de herramientas Sphinx." #: ../Doc/whatsnew/2.6.rst:241 msgid "`Docutils `__" msgstr "`Docutils `__" #: ../Doc/whatsnew/2.6.rst:242 msgid "The underlying reStructuredText parser and toolset." msgstr "" "El analizador sintáctico y el conjunto de herramientas *reStructuredText* " "subyacentes." #: ../Doc/whatsnew/2.6.rst:248 msgid "PEP 343: The 'with' statement" msgstr "PEP 343: La sentencia *'with'*" #: ../Doc/whatsnew/2.6.rst:250 msgid "" "The previous version, Python 2.5, added the ':keyword:`with`' statement as " "an optional feature, to be enabled by a ``from __future__ import " "with_statement`` directive. In 2.6 the statement no longer needs to be " "specially enabled; this means that :keyword:`!with` is now always a " "keyword. The rest of this section is a copy of the corresponding section " "from the \"What's New in Python 2.5\" document; if you're familiar with the " "':keyword:`!with`' statement from Python 2.5, you can skip this section." msgstr "" "La versión anterior, Python 2.5, agregó la instrucción ':keyword:`with`' " "como una característica opcional, para ser habilitada por una directiva " "``from __future__ import with_statement``. En 2.6, la instrucción ya no " "necesita estar habilitada especialmente; esto significa que ahora :keyword:`!" "with` es siempre una palabra clave. El resto de esta sección es una copia de " "la sección correspondiente del documento \"Qué hay de nuevo en Python 2.5\"; " "si está familiarizado con la declaración ':keyword:`!with`' de Python 2.5, " "puede omitir esta sección." #: ../Doc/whatsnew/2.6.rst:259 msgid "" "The ':keyword:`with`' statement clarifies code that previously would use " "``try...finally`` blocks to ensure that clean-up code is executed. In this " "section, I'll discuss the statement as it will commonly be used. In the " "next section, I'll examine the implementation details and show how to write " "objects for use with this statement." msgstr "" "La sentencia ':keyword:`with`' resuelve el código que anteriormente usaría " "bloques ``try...finally`` para garantizar que el código de limpieza se " "ejecute. En esta sección, discutiré como se usará comúnmente la declaración. " "En la siguiente sección, examinaré los detalles de la implementación y " "mostraré cómo escribir objetos para usar con esta declaración." #: ../Doc/whatsnew/2.6.rst:265 msgid "" "The ':keyword:`with`' statement is a control-flow structure whose basic " "structure is::" msgstr "" "La sentencia ':keyword:`with`' es una estructura de control de flujo cuya " "estructura básica es::" #: ../Doc/whatsnew/2.6.rst:271 msgid "" "The expression is evaluated, and it should result in an object that supports " "the context management protocol (that is, has :meth:`__enter__` and :meth:" "`__exit__` methods)." msgstr "" "La expresión se evalúa y debe dar como resultado un objeto que admita el " "protocolo de administración de contexto (es decir, tiene los métodos :meth:" "`__enter__` y :meth:`__exit__`)." #: ../Doc/whatsnew/2.6.rst:275 msgid "" "The object's :meth:`__enter__` is called before *with-block* is executed and " "therefore can run set-up code. It also may return a value that is bound to " "the name *variable*, if given. (Note carefully that *variable* is *not* " "assigned the result of *expression*.)" msgstr "" "El objeto :meth:`__enter__` se llama antes de que se ejecute *with-block* y, " "por lo tanto, se puede ejecutar código de configuración. También, si se " "proporciona, puede retornar un valor que esté vinculado al nombre " "*variable*. (Tenga en cuenta que a la *variable* *no* se le asigna el " "resultado de la *expression*)." #: ../Doc/whatsnew/2.6.rst:280 msgid "" "After execution of the *with-block* is finished, the object's :meth:" "`__exit__` method is called, even if the block raised an exception, and can " "therefore run clean-up code." msgstr "" "Una vez finalizada la ejecución de *with-block*, se llama al método :meth:" "`__exit__` del objeto, incluso si el bloque generó una excepción y, por lo " "tanto, puede ejecutar código de limpieza." #: ../Doc/whatsnew/2.6.rst:284 msgid "" "Some standard Python objects now support the context management protocol and " "can be used with the ':keyword:`with`' statement. File objects are one " "example::" msgstr "" "Algunos objetos estándar de Python ahora admiten el protocolo de " "administración de contexto y se pueden usar con la sentencia ':keyword:" "`with`'. Los objetos de archivo son un ejemplo::" #: ../Doc/whatsnew/2.6.rst:292 msgid "" "After this statement has executed, the file object in *f* will have been " "automatically closed, even if the :keyword:`for` loop raised an exception " "part-way through the block." msgstr "" "Después de que se haya ejecutado esta sentencia, el objeto de archivo en *f* " "se habrá cerrado automáticamente, incluso si el bucle :keyword:`for` generó " "una excepción en la mitad del bloque." #: ../Doc/whatsnew/2.6.rst:298 msgid "" "In this case, *f* is the same object created by :func:`open`, because :meth:" "`file.__enter__` returns *self*." msgstr "" "En este caso, *f* es el mismo objeto creado por :func:`open`, porque :meth:" "`file.__enter__` retorna *self*." #: ../Doc/whatsnew/2.6.rst:301 msgid "" "The :mod:`threading` module's locks and condition variables also support " "the ':keyword:`with`' statement::" msgstr "" "Los *locks* y las condiciones variables del módulo :mod:`threading` también " "admiten la sentencia ':keyword:`with`'::" #: ../Doc/whatsnew/2.6.rst:309 msgid "" "The lock is acquired before the block is executed and always released once " "the block is complete." msgstr "" "El *lock* se adquiere antes de que se ejecute el bloque y siempre se libera " "una vez que este se completa." #: ../Doc/whatsnew/2.6.rst:312 msgid "" "The :func:`localcontext` function in the :mod:`decimal` module makes it easy " "to save and restore the current decimal context, which encapsulates the " "desired precision and rounding characteristics for computations::" msgstr "" "La función :func:`localcontext` en el módulo :mod:`decimal` facilita guardar " "y restaurar el contexto decimal actual, que encapsula la precisión deseada y " "las características de redondeo para los cálculos::" #: ../Doc/whatsnew/2.6.rst:331 msgid "Writing Context Managers" msgstr "Escribiendo gestores de contexto" #: ../Doc/whatsnew/2.6.rst:333 msgid "" "Under the hood, the ':keyword:`with`' statement is fairly complicated. Most " "people will only use ':keyword:`!with`' in company with existing objects and " "don't need to know these details, so you can skip the rest of this section " "if you like. Authors of new objects will need to understand the details of " "the underlying implementation and should keep reading." msgstr "" "Por detrás, la sentencia ':keyword:`with`' es bastante complicada. La " "mayoría de las personas solo usarán ':keyword:`!with`' en compañía de " "objetos existentes y no necesitan conocer estos detalles, por lo que puede " "omitir el resto de esta sección si lo desea. Los autores de nuevos objetos " "deberán comprender los detalles de la implementación subyacente y deben " "seguir leyendo." #: ../Doc/whatsnew/2.6.rst:339 msgid "A high-level explanation of the context management protocol is:" msgstr "Una explicación de alto nivel del protocolo de gestor de contexto es:" #: ../Doc/whatsnew/2.6.rst:341 msgid "" "The expression is evaluated and should result in an object called a " "\"context manager\". The context manager must have :meth:`__enter__` and :" "meth:`__exit__` methods." msgstr "" "La expresión se evalúa y debería dar como resultado un objeto llamado " "\"gestor de contexto\". El gestor de contexto debe tener los métodos :meth:" "`__enter__` y :meth:`__exit__`." #: ../Doc/whatsnew/2.6.rst:345 msgid "" "The context manager's :meth:`__enter__` method is called. The value " "returned is assigned to *VAR*. If no ``as VAR`` clause is present, the " "value is simply discarded." msgstr "" "Se llama al método :meth:`__enter__` del gestor de contexto. El valor " "retornado se asigna a *VAR*. Si no hay una cláusula ``as VAR``, el valor " "simplemente se descarta." #: ../Doc/whatsnew/2.6.rst:349 msgid "The code in *BLOCK* is executed." msgstr "Se ejecuta el código en *BLOCK*." #: ../Doc/whatsnew/2.6.rst:351 msgid "" "If *BLOCK* raises an exception, the context manager's :meth:`__exit__` " "method is called with three arguments, the exception details (``type, value, " "traceback``, the same values returned by :func:`sys.exc_info`, which can " "also be ``None`` if no exception occurred). The method's return value " "controls whether an exception is re-raised: any false value re-raises the " "exception, and ``True`` will result in suppressing it. You'll only rarely " "want to suppress the exception, because if you do the author of the code " "containing the ':keyword:`with`' statement will never realize anything went " "wrong." msgstr "" "Si *BLOCK* lanza una excepción, se llama al método :meth:`__exit__` del " "gestor de contexto con tres argumentos, los detalles de la excepción " "(``type, value, traceback``, los mismos valores retornados por :func:`sys." "exc_info`, que también puede ser ``None`` si no se produjo ninguna " "excepción). El valor de retorno del método controla si se vuelve a generar " "una excepción: cualquier valor *false* vuelve a lanzar la excepción, y " "``True`` resultará en inhibirla. Rara vez querrá suprimir la excepción, " "porque si lo hace, el autor del código que contenga la sentencia ':keyword:" "`with`' nunca se dará cuenta de que algo salió mal." #: ../Doc/whatsnew/2.6.rst:360 msgid "" "If *BLOCK* didn't raise an exception, the :meth:`__exit__` method is still " "called, but *type*, *value*, and *traceback* are all ``None``." msgstr "" "Si *BLOCK* no lanzó una excepción, el método :meth:`__exit__` continúa " "llamándose, pero *type*, *value* y *traceback* son todos ``None``." #: ../Doc/whatsnew/2.6.rst:363 msgid "" "Let's think through an example. I won't present detailed code but will only " "sketch the methods necessary for a database that supports transactions." msgstr "" "Pensemos en un ejemplo. No presentaré un código detallado, solo bosquejaré " "los métodos necesarios para una base de datos que admita transacciones." #: ../Doc/whatsnew/2.6.rst:366 msgid "" "(For people unfamiliar with database terminology: a set of changes to the " "database are grouped into a transaction. Transactions can be either " "committed, meaning that all the changes are written into the database, or " "rolled back, meaning that the changes are all discarded and the database is " "unchanged. See any database textbook for more information.)" msgstr "" "(Para las personas que no están familiarizadas con la terminología de la " "base de datos: un conjunto de cambios en la base de datos se agrupa en una " "transacción. Las transacciones pueden confirmarse, lo que significa que " "todos los cambios se escriben en la base de datos, o deshacerse, lo que " "significa que todos los cambios se descartan y la base de datos no ha " "cambiado. Consulte cualquier libro de texto de base de datos para obtener " "más información.)" #: ../Doc/whatsnew/2.6.rst:372 msgid "" "Let's assume there's an object representing a database connection. Our goal " "will be to let the user write code like this::" msgstr "" "Supongamos que hay un objeto que representa una conexión de base de datos. " "Nuestro objetivo será permitir que el usuario escriba un código como este::" #: ../Doc/whatsnew/2.6.rst:381 msgid "" "The transaction should be committed if the code in the block runs flawlessly " "or rolled back if there's an exception. Here's the basic interface for :" "class:`DatabaseConnection` that I'll assume::" msgstr "" "La transacción debe confirmarse si el código del bloque se ejecuta sin " "problemas o revertirse si hay una excepción. Aquí está la interfaz básica " "para :class:`DatabaseConnection` que asumiré::" #: ../Doc/whatsnew/2.6.rst:394 msgid "" "The :meth:`__enter__` method is pretty easy, having only to start a new " "transaction. For this application the resulting cursor object would be a " "useful result, so the method will return it. The user can then add ``as " "cursor`` to their ':keyword:`with`' statement to bind the cursor to a " "variable name. ::" msgstr "" "El método :meth:`__enter__` es bastante fácil, ya que solo tiene que iniciar " "una nueva transacción. Para esta aplicación, el objeto cursor resultante " "sería un resultado útil, por lo que el método lo retornará. Luego, el " "usuario puede agregar ``as cursor`` a su sentencia ':keyword:`with`' para " "vincular el cursor a un nombre de variable. ::" #: ../Doc/whatsnew/2.6.rst:406 msgid "" "The :meth:`__exit__` method is the most complicated because it's where most " "of the work has to be done. The method has to check if an exception " "occurred. If there was no exception, the transaction is committed. The " "transaction is rolled back if there was an exception." msgstr "" "El método :meth:`__exit__` es el más complicado porque es donde se debe " "realizar la mayor parte del trabajo. El método debe verificar si ocurrió una " "excepción. Si no hubo excepción, la transacción se confirma. La transacción " "se revierte si hubo una excepción." #: ../Doc/whatsnew/2.6.rst:411 msgid "" "In the code below, execution will just fall off the end of the function, " "returning the default value of ``None``. ``None`` is false, so the " "exception will be re-raised automatically. If you wished, you could be more " "explicit and add a :keyword:`return` statement at the marked location. ::" msgstr "" "En el siguiente código, la ejecución simplemente caerá al final de la " "función, retornando el valor predeterminado ``None``. ``None`` es falso, por " "lo que la excepción se volverá a lanzar automáticamente. Si lo desea, puede " "ser más explícito y agregar una sentencia :keyword:`return` en la ubicación " "marcada. ::" #: ../Doc/whatsnew/2.6.rst:431 msgid "The contextlib module" msgstr "El módulo contextlib" #: ../Doc/whatsnew/2.6.rst:433 msgid "" "The :mod:`contextlib` module provides some functions and a decorator that " "are useful when writing objects for use with the ':keyword:`with`' statement." msgstr "" "El módulo :mod:`contextlib` proporciona algunas funciones y un decorador que " "son útiles al escribir objetos para usar con la sentencia ':keyword:`with`'." #: ../Doc/whatsnew/2.6.rst:436 msgid "" "The decorator is called :func:`contextmanager`, and lets you write a single " "generator function instead of defining a new class. The generator should " "yield exactly one value. The code up to the :keyword:`yield` will be " "executed as the :meth:`__enter__` method, and the value yielded will be the " "method's return value that will get bound to the variable in the ':keyword:" "`with`' statement's :keyword:`!as` clause, if any. The code after the :" "keyword:`!yield` will be executed in the :meth:`__exit__` method. Any " "exception raised in the block will be raised by the :keyword:`!yield` " "statement." msgstr "" "El decorador se llama :func:`contextmanager`, y te permite escribir una " "única función generadora en lugar de definir una clase nueva. El generador " "debería producir exactamente un valor. El código hasta :keyword:`yield` se " "ejecutará como el método :meth:`__enter__`, y el valor obtenido será el " "valor de retorno del método que se vinculará a la variable en la clausula :" "keyword:`!as` (si la hay) de la sentencia ':keyword:`with`'. El código " "después de :keyword:`!yield` se ejecutará en el método :meth:`__exit__` . " "Cualquier excepción lanzada en el bloque será generada por la sentencia :" "keyword:`!yield`." #: ../Doc/whatsnew/2.6.rst:445 msgid "" "Using this decorator, our database example from the previous section could " "be written as::" msgstr "" "Usando este decorador, nuestro ejemplo de base de datos de la sección " "anterior podría escribirse como::" #: ../Doc/whatsnew/2.6.rst:465 msgid "" "The :mod:`contextlib` module also has a ``nested(mgr1, mgr2, ...)`` function " "that combines a number of context managers so you don't need to write nested " "':keyword:`with`' statements. In this example, the single ':keyword:`!" "with`' statement both starts a database transaction and acquires a thread " "lock::" msgstr "" "El módulo :mod:`contextlib` también tiene una función ``nested(mgr1, " "mgr2, ...)`` que combina varios gestores de contexto para que no necesite " "escribir sentencias ':keyword:`with`' anidadas. En este ejemplo, se utiliza " "una única sentencia ':keyword:`!with`' que inicia una transacción de base de " "datos y adquiere un bloqueo del hilo::" #: ../Doc/whatsnew/2.6.rst:474 msgid "" "Finally, the :func:`closing` function returns its argument so that it can be " "bound to a variable, and calls the argument's ``.close()`` method at the end " "of the block. ::" msgstr "" "Por último, la función :func:`close` retorna su argumento para que pueda " "vincularse a una variable, y llama al método ``.close()`` del argumento al " "final del bloque. ::" #: ../Doc/whatsnew/2.6.rst:492 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` - La sentencia \"with\"" #: ../Doc/whatsnew/2.6.rst:489 msgid "" "PEP written by Guido van Rossum and Nick Coghlan; implemented by Mike Bland, " "Guido van Rossum, and Neal Norwitz. The PEP shows the code generated for a " "':keyword:`with`' statement, which can be helpful in learning how the " "statement works." msgstr "" "PEP escrito por Guido van Rossum y Nick Coghlan; implementado por Mike " "Bland, Guido van Rossum y Neal Norwitz. El PEP muestra el código generado " "para una sentencia ':keyword:`with`', que puede ser útil para aprender cómo " "la sentencia funciona." #: ../Doc/whatsnew/2.6.rst:494 msgid "The documentation for the :mod:`contextlib` module." msgstr "La documentación para el módulo :mod:`contextlib`." #: ../Doc/whatsnew/2.6.rst:501 msgid "PEP 366: Explicit Relative Imports From a Main Module" msgstr "PEP 366: Importaciones relativas explícitas desde un módulo principal" #: ../Doc/whatsnew/2.6.rst:503 msgid "" "Python's :option:`-m` switch allows running a module as a script. When you " "ran a module that was located inside a package, relative imports didn't work " "correctly." msgstr "" "El modificador de Python :option:`-m` permite ejecutar un módulo como un " "script. Cuando ejecutabas un módulo que estaba ubicado dentro de un paquete, " "las importaciones relativas no funcionaban correctamente." #: ../Doc/whatsnew/2.6.rst:507 msgid "" "The fix for Python 2.6 adds a :attr:`__package__` attribute to modules. " "When this attribute is present, relative imports will be relative to the " "value of this attribute instead of the :attr:`__name__` attribute." msgstr "" "La corrección para Python 2.6 agrega un atributo :attr:`__package__` a los " "módulos. Cuando este atributo está presente, las importaciones relativas " "serán relativas al valor de este atributo en lugar del atributo :attr:" "`__name__`." #: ../Doc/whatsnew/2.6.rst:512 msgid "" "PEP 302-style importers can then set :attr:`__package__` as necessary. The :" "mod:`runpy` module that implements the :option:`-m` switch now does this, so " "relative imports will now work correctly in scripts running from inside a " "package." msgstr "" "Las importaciones de estilo PEP 302 pueden configurar :attr:`__package__` " "según sea necesario. El módulo :mod:`runpy` que implementa el modificador :" "option:`-m` ahora hace esto, por lo que las importaciones relativas ahora " "funcionarán correctamente en los scripts que se ejecutan desde el interior " "de un paquete." #: ../Doc/whatsnew/2.6.rst:522 msgid "PEP 370: Per-user ``site-packages`` Directory" msgstr "PEP 370: Directorio de ``site-packages`` por usuario" #: ../Doc/whatsnew/2.6.rst:524 msgid "" "When you run Python, the module search path ``sys.path`` usually includes a " "directory whose path ends in ``\"site-packages\"``. This directory is " "intended to hold locally installed packages available to all users using a " "machine or a particular site installation." msgstr "" "Cuando ejecuta Python, la ruta de búsqueda del módulo ``sys.path`` " "generalmente incluye un directorio cuya ruta termina en ``\"site-" "packages\"``. Este directorio está destinado a contener paquetes instalados " "localmente disponibles para todos los usuarios que utilizan una máquina o un " "sitio de instalación en particular." #: ../Doc/whatsnew/2.6.rst:529 msgid "" "Python 2.6 introduces a convention for user-specific site directories. The " "directory varies depending on the platform:" msgstr "" "Python 2.6 introduce una convención para directorios de sitios específicos " "del usuario. El directorio varía según la plataforma:" #: ../Doc/whatsnew/2.6.rst:532 msgid "Unix and Mac OS X: :file:`~/.local/`" msgstr "Unix y Mac OS X: :file:`~/.local/`" #: ../Doc/whatsnew/2.6.rst:533 msgid "Windows: :file:`%APPDATA%/Python`" msgstr "Windows: :file:`%APPDATA%/Python`" #: ../Doc/whatsnew/2.6.rst:535 msgid "" "Within this directory, there will be version-specific subdirectories, such " "as :file:`lib/python2.6/site-packages` on Unix/Mac OS and :file:`Python26/" "site-packages` on Windows." msgstr "" "Dentro de este directorio, habrá subdirectorios específicos de versión, " "como :file:`lib/python2.6/site-packages` en Unix/Mac OS y :file:`Python26/" "site-packages` en Windows." #: ../Doc/whatsnew/2.6.rst:539 msgid "" "If you don't like the default directory, it can be overridden by an " "environment variable. :envvar:`PYTHONUSERBASE` sets the root directory used " "for all Python versions supporting this feature. On Windows, the directory " "for application-specific data can be changed by setting the :envvar:" "`APPDATA` environment variable. You can also modify the :file:`site.py` " "file for your Python installation." msgstr "" "Si no le gusta el directorio predeterminado, puede sobrescribirlo mediante " "una variable de entorno. :envvar:`PYTHONUSERBASE` establece el directorio " "raíz utilizado para todas las versiones de Python que admiten esta función. " "En Windows, el directorio de datos específicos de la aplicación se puede " "cambiar configurando la variable de entorno :envvar:`APPDATA`. También puede " "modificar el archivo :file:`site.py` para su instalación de Python." #: ../Doc/whatsnew/2.6.rst:546 msgid "" "The feature can be disabled entirely by running Python with the :option:`-s` " "option or setting the :envvar:`PYTHONNOUSERSITE` environment variable." msgstr "" "La característica se puede desactivar por completo ejecutando Python con la " "opción :option:`-s` o *seteando* la variable de entorno :envvar:" "`PYTHONNOUSERSITE`." #: ../Doc/whatsnew/2.6.rst:552 msgid ":pep:`370` - Per-user ``site-packages`` Directory" msgstr "PEP 370: Directorio de ``site-packages`` por usuario" #: ../Doc/whatsnew/2.6.rst:553 msgid "PEP written and implemented by Christian Heimes." msgstr "PEP escrito e implementado por Christian Heimes." #: ../Doc/whatsnew/2.6.rst:561 msgid "PEP 371: The ``multiprocessing`` Package" msgstr "PEP 371: El paquete ``multiprocessing``" #: ../Doc/whatsnew/2.6.rst:563 msgid "" "The new :mod:`multiprocessing` package lets Python programs create new " "processes that will perform a computation and return a result to the " "parent. The parent and child processes can communicate using queues and " "pipes, synchronize their operations using locks and semaphores, and can " "share simple arrays of data." msgstr "" "El nuevo paquete :mod:`multiprocessing` permite a los programas de Python " "crear nuevos procesos que realizarán un cálculo y retornaran un resultado al " "padre. Los procesos padre e hijo pueden comunicarse mediante colas " "(*queues*) y tuberías (*pipes*), sincronizar sus operaciones mediante " "bloqueos y semáforos, y pueden compartir matrices simples de datos." #: ../Doc/whatsnew/2.6.rst:569 msgid "" "The :mod:`multiprocessing` module started out as an exact emulation of the :" "mod:`threading` module using processes instead of threads. That goal was " "discarded along the path to Python 2.6, but the general approach of the " "module is still similar. The fundamental class is the :class:`Process`, " "which is passed a callable object and a collection of arguments. The :meth:" "`start` method sets the callable running in a subprocess, after which you " "can call the :meth:`is_alive` method to check whether the subprocess is " "still running and the :meth:`join` method to wait for the process to exit." msgstr "" "El módulo :mod:`multiprocessing` comenzó como una emulación exacta del " "módulo :mod:`threading` usando procesos en lugar de hilos. Ese objetivo se " "descartó en el camino a Python 2.6, pero el enfoque general del módulo sigue " "siendo similar. La clase fundamental es :class:`Process`, a la que se le " "pasa un objeto invocable y una colección de argumentos. El método :meth:" "`start` establece el invocable ejecutándose en un subproceso, después de lo " "cual se puede llamar al método :meth:`is_alive` para verificar si el " "subproceso aún se está ejecutando y al método :meth:`join` para esperar al " "proceso para salir." #: ../Doc/whatsnew/2.6.rst:579 msgid "" "Here's a simple example where the subprocess will calculate a factorial. " "The function doing the calculation is written strangely so that it takes " "significantly longer when the input argument is a multiple of 4." msgstr "" "Aquí hay un ejemplo simple donde el subproceso calculará un factorial. La " "función que realiza el cálculo está escrita de forma extraña, por lo que " "lleva mucho más tiempo cuando el argumento de entrada es un múltiplo de 4." #: ../Doc/whatsnew/2.6.rst:616 msgid "" "A :class:`~queue.Queue` is used to communicate the result of the factorial. " "The :class:`~queue.Queue` object is stored in a global variable. The child " "process will use the value of the variable when the child was created; " "because it's a :class:`~queue.Queue`, parent and child can use the object to " "communicate. (If the parent were to change the value of the global " "variable, the child's value would be unaffected, and vice versa.)" msgstr "" "Un :class:`~queue.Queue` se usa para comunicar el resultado del factorial. " "El objeto :class:`~queue.Queue` se almacena en una variable global. El " "proceso hijo usará el valor de la variable cuando se creó el hijo; porque es " "una :class:`~ queue.Queue`, padre e hijo pueden usar el objeto para " "comunicarse. (Si el padre cambiara el valor de la variable global, el valor " "del hijo no se vería afectado y viceversa)." #: ../Doc/whatsnew/2.6.rst:624 msgid "" "Two other classes, :class:`Pool` and :class:`Manager`, provide higher-level " "interfaces. :class:`Pool` will create a fixed number of worker processes, " "and requests can then be distributed to the workers by calling :meth:`apply` " "or :meth:`apply_async` to add a single request, and :meth:`map` or :meth:" "`map_async` to add a number of requests. The following code uses a :class:" "`Pool` to spread requests across 5 worker processes and retrieve a list of " "results::" msgstr "" "Otras dos clases, :class:`Pool` y :class:`Manager`, proporcionan interfaces " "de nivel superior. :class:`Pool` creará un número fijo de procesos de " "trabajo, y las solicitudes se pueden distribuir a los trabajadores llamando " "a :meth:`apply` o :meth:`apply_async` para agregar una sola solicitud, y :" "meth:`map` o :meth:`map_async` para agregar una serie de solicitudes. El " "siguiente código usa :class:`Pool` para distribuir las solicitudes en 5 " "procesos de trabajo y recuperar una lista de resultados::" #: ../Doc/whatsnew/2.6.rst:642 msgid "This produces the following output::" msgstr "Esto produce la siguiente salida::" #: ../Doc/whatsnew/2.6.rst:651 msgid "" "The other high-level interface, the :class:`Manager` class, creates a " "separate server process that can hold master copies of Python data " "structures. Other processes can then access and modify these data " "structures using proxy objects. The following example creates a shared " "dictionary by calling the :meth:`dict` method; the worker processes then " "insert values into the dictionary. (Locking is not done for you " "automatically, which doesn't matter in this example. :class:`Manager`'s " "methods also include :meth:`Lock`, :meth:`RLock`, and :meth:`Semaphore` to " "create shared locks.)" msgstr "" "La otra interfaz de alto nivel, la clase :class:`Manager`, crea un proceso " "de servidor separado que puede contener copias maestras de las estructuras " "de datos de Python. Luego, otros procesos pueden acceder y modificar estas " "estructuras de datos utilizando objetos proxy. El siguiente ejemplo crea un " "diccionario compartido llamando al método :meth:`dict`; los procesos de " "trabajo luego insertan valores en el diccionario. (El bloqueo no se realiza " "automáticamente, lo cual no importa en este ejemplo. Los métodos de :class:" "`Manager` también incluyen :meth:`Lock`, :meth:`RLock`, y :meth:`Semaphore` " "para crear bloqueos compartidos.)" #: ../Doc/whatsnew/2.6.rst:695 msgid "This will produce the output::" msgstr "Esto producirá la salida::" #: ../Doc/whatsnew/2.6.rst:706 msgid "The documentation for the :mod:`multiprocessing` module." msgstr "La documentación del módulo :mod:`multiprocessing`." #: ../Doc/whatsnew/2.6.rst:709 msgid ":pep:`371` - Addition of the multiprocessing package" msgstr ":pep:`371` - Adición del paquete de multiprocesamiento" #: ../Doc/whatsnew/2.6.rst:709 msgid "" "PEP written by Jesse Noller and Richard Oudkerk; implemented by Richard " "Oudkerk and Jesse Noller." msgstr "" "PEP escrito por Jesse Noller y Richard Oudkerk; implementado por Richard " "Oudkerk y Jesse Noller." #: ../Doc/whatsnew/2.6.rst:718 msgid "PEP 3101: Advanced String Formatting" msgstr "PEP 3101: Formateo avanzado de cadena de caracteres" #: ../Doc/whatsnew/2.6.rst:720 msgid "" "In Python 3.0, the ``%`` operator is supplemented by a more powerful string " "formatting method, :meth:`format`. Support for the :meth:`str.format` " "method has been backported to Python 2.6." msgstr "" "En Python 3.0, el operador ``%`` se complementa con un método de formato de " "cadena más potente, :meth:`format`. La compatibilidad con el método :meth:" "`str.format` se ha retroalimentado a Python 2.6." #: ../Doc/whatsnew/2.6.rst:724 msgid "" "In 2.6, both 8-bit and Unicode strings have a ``.format()`` method that " "treats the string as a template and takes the arguments to be formatted. The " "formatting template uses curly brackets (``{``, ``}``) as special " "characters::" msgstr "" "En 2.6, tanto las cadenas de 8 bits como las Unicode tienen un método ``." "format()`` que trata la cadena como una plantilla y toma los argumentos para " "formatear. La plantilla de formato utiliza llaves (``{``, ``}``) como " "caracteres especiales:" #: ../Doc/whatsnew/2.6.rst:737 msgid "Curly brackets can be escaped by doubling them::" msgstr "Las llaves se pueden escapar duplicándose::" #: ../Doc/whatsnew/2.6.rst:742 msgid "" "Field names can be integers indicating positional arguments, such as ``{0}" "``, ``{1}``, etc. or names of keyword arguments. You can also supply " "compound field names that read attributes or access dictionary keys::" msgstr "" "Los nombres de campo pueden ser números enteros que indican argumentos " "posicionales, como ``{0}``, ``{1}``, etc. o nombres de argumentos de " "palabras clave. También puede proporcionar nombres de campos compuestos que " "lean atributos o accedan a claves de diccionario::" #: ../Doc/whatsnew/2.6.rst:756 msgid "" "Note that when using dictionary-style notation such as ``[.mp4]``, you don't " "need to put any quotation marks around the string; it will look up the value " "using ``.mp4`` as the key. Strings beginning with a number will be " "converted to an integer. You can't write more complicated expressions " "inside a format string." msgstr "" "Tenga en cuenta que cuando utilice una notación de estilo diccionario como " "``[.mp4]``, no es necesario poner comillas alrededor de la cadena; se " "buscará el valor usando ``.mp4`` como clave. Las cadenas de caracteres que " "comienzan con un número se convertirán en entero. No puede escribir " "expresiones más complicadas dentro de una cadena de formato." #: ../Doc/whatsnew/2.6.rst:762 msgid "" "So far we've shown how to specify which field to substitute into the " "resulting string. The precise formatting used is also controllable by " "adding a colon followed by a format specifier. For example::" msgstr "" "Hasta ahora hemos mostrado cómo especificar qué campo sustituir en la cadena " "resultante. El formato preciso utilizado también se puede controlar " "agregando dos puntos seguidos de un especificador de formato. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:776 msgid "Format specifiers can reference other fields through nesting::" msgstr "" "Los especificadores de formato pueden hacer referencia a otros campos a " "través del anidamiento::" #: ../Doc/whatsnew/2.6.rst:786 msgid "The alignment of a field within the desired width can be specified:" msgstr "" "Se puede especificar la alineación de un campo dentro del ancho deseado:" #: ../Doc/whatsnew/2.6.rst:789 msgid "Character" msgstr "Carácter" #: ../Doc/whatsnew/2.6.rst:789 msgid "Effect" msgstr "Efecto" #: ../Doc/whatsnew/2.6.rst:791 msgid "< (default)" msgstr "< (por defecto)" #: ../Doc/whatsnew/2.6.rst:791 msgid "Left-align" msgstr "Alinear a la izquierda" #: ../Doc/whatsnew/2.6.rst:792 msgid ">" msgstr ">" #: ../Doc/whatsnew/2.6.rst:792 msgid "Right-align" msgstr "Alinear a la derecha" #: ../Doc/whatsnew/2.6.rst:793 msgid "^" msgstr "^" #: ../Doc/whatsnew/2.6.rst:793 msgid "Center" msgstr "Centrado" #: ../Doc/whatsnew/2.6.rst:794 msgid "=" msgstr "=" #: ../Doc/whatsnew/2.6.rst:794 msgid "(For numeric types only) Pad after the sign." msgstr "(Solo para tipos numéricos) Relleno después del signo." #: ../Doc/whatsnew/2.6.rst:797 msgid "" "Format specifiers can also include a presentation type, which controls how " "the value is formatted. For example, floating-point numbers can be " "formatted as a general number or in exponential notation::" msgstr "" "Los especificadores de formato también pueden incluir un tipo de " "presentación, que controla cómo se formatea el valor. Por ejemplo, los " "números de punto flotante pueden formatearse como un número general o en " "notación exponencial::" #: ../Doc/whatsnew/2.6.rst:806 msgid "" "A variety of presentation types are available. Consult the 2.6 " "documentation for a :ref:`complete list `; here's a sample:" msgstr "" "Hay una variedad de tipos de presentación disponibles. Consulte la " "documentación 2.6 para obtener una :ref:`lista completa `; " "aquí hay un ejemplo:" #: ../Doc/whatsnew/2.6.rst:810 msgid "``b``" msgstr "``b``" #: ../Doc/whatsnew/2.6.rst:810 msgid "Binary. Outputs the number in base 2." msgstr "Binario. Emite el número en base 2." #: ../Doc/whatsnew/2.6.rst:811 msgid "``c``" msgstr "``c``" #: ../Doc/whatsnew/2.6.rst:811 msgid "" "Character. Converts the integer to the corresponding Unicode character " "before printing." msgstr "" "Carácter. Convierte el número entero en el carácter Unicode correspondiente " "antes de imprimirlo." #: ../Doc/whatsnew/2.6.rst:813 msgid "``d``" msgstr "``d``" #: ../Doc/whatsnew/2.6.rst:813 msgid "Decimal Integer. Outputs the number in base 10." msgstr "Entero Decimal. Muestra el número en base 10." #: ../Doc/whatsnew/2.6.rst:814 msgid "``o``" msgstr "``o``" #: ../Doc/whatsnew/2.6.rst:814 msgid "Octal format. Outputs the number in base 8." msgstr "Formato octal. Da salida al número en base 8." #: ../Doc/whatsnew/2.6.rst:815 msgid "``x``" msgstr "``x``" #: ../Doc/whatsnew/2.6.rst:815 msgid "" "Hex format. Outputs the number in base 16, using lower-case letters for the " "digits above 9." msgstr "" "Formato hexadecimal. Muestra el número en base 16, utilizando letras " "minúsculas para los dígitos superiores a 9." #: ../Doc/whatsnew/2.6.rst:817 msgid "``e``" msgstr "``e``" #: ../Doc/whatsnew/2.6.rst:817 msgid "" "Exponent notation. Prints the number in scientific notation using the letter " "'e' to indicate the exponent." msgstr "" "Notación de exponente. Imprime el número en notación científica utilizando " "la letra 'e' para indicar el exponente." #: ../Doc/whatsnew/2.6.rst:819 msgid "``g``" msgstr "``g``" #: ../Doc/whatsnew/2.6.rst:819 msgid "" "General format. This prints the number as a fixed-point number, unless the " "number is too large, in which case it switches to 'e' exponent notation." msgstr "" "Formato general. Esto imprime el número como un número de punto fijo, a " "menos que el número sea demasiado grande, en cuyo caso cambia a la notación " "de exponente 'e'." #: ../Doc/whatsnew/2.6.rst:822 msgid "``n``" msgstr "``n``" #: ../Doc/whatsnew/2.6.rst:822 msgid "" "Number. This is the same as 'g' (for floats) or 'd' (for integers), except " "that it uses the current locale setting to insert the appropriate number " "separator characters." msgstr "" "Número. Es lo mismo que 'g' (para flotantes) o 'd' (para enteros), salvo que " "utiliza la configuración regional actual para insertar los caracteres " "separadores de números adecuados." #: ../Doc/whatsnew/2.6.rst:825 msgid "``%``" msgstr "``%``" #: ../Doc/whatsnew/2.6.rst:825 msgid "" "Percentage. Multiplies the number by 100 and displays in fixed ('f') format, " "followed by a percent sign." msgstr "" "Porcentaje. Multiplica el número por 100 y lo muestra en formato fijo ('f'), " "seguido de un signo de porcentaje." #: ../Doc/whatsnew/2.6.rst:829 msgid "" "Classes and types can define a :meth:`__format__` method to control how " "they're formatted. It receives a single argument, the format specifier::" msgstr "" "Las clases y los tipos pueden definir un método :meth:`__format__` para " "controlar cómo se formatean. Recibe un único argumento, el especificador de " "formato::" #: ../Doc/whatsnew/2.6.rst:838 msgid "" "There's also a :func:`format` builtin that will format a single value. It " "calls the type's :meth:`__format__` method with the provided specifier::" msgstr "" "También hay un builtin :func:`format` que formateará un solo valor. Llama " "al método :meth:`__format__` del tipo con el especificador proporcionado::" #: ../Doc/whatsnew/2.6.rst:849 msgid ":ref:`formatstrings`" msgstr ":ref:`formatstrings`" #: ../Doc/whatsnew/2.6.rst:849 msgid "The reference documentation for format fields." msgstr "La documentación de referencia para los campos de formato." #: ../Doc/whatsnew/2.6.rst:851 msgid ":pep:`3101` - Advanced String Formatting" msgstr ":pep:`3101` - Formato avanzado de cadenas" #: ../Doc/whatsnew/2.6.rst:852 msgid "PEP written by Talin. Implemented by Eric Smith." msgstr "PEP escrito por Talin. Implementado por Eric Smith." #: ../Doc/whatsnew/2.6.rst:859 msgid "PEP 3105: ``print`` As a Function" msgstr "PEP 3105: ``print`` como función" #: ../Doc/whatsnew/2.6.rst:861 msgid "" "The ``print`` statement becomes the :func:`print` function in Python 3.0. " "Making :func:`print` a function makes it possible to replace the function by " "doing ``def print(...)`` or importing a new function from somewhere else." msgstr "" "La sentencia ``print`` se convierte en la función :func:`print` en Python " "3.0. Hacer de :func:`print` una función hace posible reemplazar la función " "haciendo ``def print(...)`` o importando una nueva función desde otro lugar." #: ../Doc/whatsnew/2.6.rst:865 msgid "" "Python 2.6 has a ``__future__`` import that removes ``print`` as language " "syntax, letting you use the functional form instead. For example::" msgstr "" "Python 2.6 tiene una importación ``__future__`` que elimina ``print`` como " "sintaxis del lenguaje, permitiéndote usar la forma funcional en su lugar. " "Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:871 msgid "The signature of the new function is::" msgstr "La firma de la nueva función es::" #: ../Doc/whatsnew/2.6.rst:876 msgid "The parameters are:" msgstr "Los parámetros son:" #: ../Doc/whatsnew/2.6.rst:878 msgid "*args*: positional arguments whose values will be printed out." msgstr "*args*: argumentos posicionales cuyos valores se imprimirán." #: ../Doc/whatsnew/2.6.rst:879 msgid "*sep*: the separator, which will be printed between arguments." msgstr "*sep*: el separador que se imprimirá entre los argumentos." #: ../Doc/whatsnew/2.6.rst:880 msgid "" "*end*: the ending text, which will be printed after all of the arguments " "have been output." msgstr "" "*end*: el texto final, que se imprimirá después de que se hayan emitido " "todos los argumentos." #: ../Doc/whatsnew/2.6.rst:882 msgid "*file*: the file object to which the output will be sent." msgstr "*archivo*: el objeto archivo al que se enviará la salida." #: ../Doc/whatsnew/2.6.rst:886 msgid ":pep:`3105` - Make print a function" msgstr ":pep:`3105` - Hacer de la impresión una función" #: ../Doc/whatsnew/2.6.rst:887 msgid "PEP written by Georg Brandl." msgstr "PEP escrito por Georg Brandl." #: ../Doc/whatsnew/2.6.rst:894 msgid "PEP 3110: Exception-Handling Changes" msgstr "PEP 3110: Cambios en el manejo de excepciones" #: ../Doc/whatsnew/2.6.rst:896 msgid "" "One error that Python programmers occasionally make is writing the following " "code::" msgstr "" "Un error que ocasionalmente cometen los programadores de Python es escribir " "el siguiente código::" #: ../Doc/whatsnew/2.6.rst:904 msgid "" "The author is probably trying to catch both :exc:`TypeError` and :exc:" "`ValueError` exceptions, but this code actually does something different: it " "will catch :exc:`TypeError` and bind the resulting exception object to the " "local name ``\"ValueError\"``. The :exc:`ValueError` exception will not be " "caught at all. The correct code specifies a tuple of exceptions::" msgstr "" "El autor probablemente está tratando de atrapar ambas excepciones :exc:" "`TypeError` y :exc:`ValueError`, pero este código en realidad hace algo " "diferente: atrapará :exc:`TypeError` y vinculará el objeto de excepción " "resultante al nombre local ``\"ValueError\"``. La excepción :exc:" "`ValueError` no será capturada en absoluto. El código correcto especifica " "una tupla de excepciones::" #: ../Doc/whatsnew/2.6.rst:916 msgid "" "This error happens because the use of the comma here is ambiguous: does it " "indicate two different nodes in the parse tree, or a single node that's a " "tuple?" msgstr "" "Este error se produce porque el uso de la coma aquí es ambiguo: ¿indica dos " "nodos diferentes en el árbol de análisis sintáctico, o un único nodo que es " "una tupla?" #: ../Doc/whatsnew/2.6.rst:920 msgid "" "Python 3.0 makes this unambiguous by replacing the comma with the word " "\"as\". To catch an exception and store the exception object in the " "variable ``exc``, you must write::" msgstr "" "Python 3.0 hace que esto sea inequívoco al sustituir la coma por la palabra " "\"as\". Para atrapar una excepción y almacenar el objeto de excepción en la " "variable ``exc``, debes escribir::" #: ../Doc/whatsnew/2.6.rst:929 msgid "" "Python 3.0 will only support the use of \"as\", and therefore interprets the " "first example as catching two different exceptions. Python 2.6 supports " "both the comma and \"as\", so existing code will continue to work. We " "therefore suggest using \"as\" when writing new Python code that will only " "be executed with 2.6." msgstr "" "Python 3.0 sólo soporta el uso de \"as\", y por lo tanto interpreta el " "primer ejemplo como la captura de dos excepciones diferentes. Python 2.6 " "soporta tanto la coma como \"as\", por lo que el código existente seguirá " "funcionando. Por lo tanto, sugerimos utilizar \"as\" cuando se escriba " "nuevo código Python que sólo se ejecutará con la versión 2.6." #: ../Doc/whatsnew/2.6.rst:937 msgid ":pep:`3110` - Catching Exceptions in Python 3000" msgstr ":pep:`3110` - Captura de excepciones en Python 3000" #: ../Doc/whatsnew/2.6.rst:938 msgid "PEP written and implemented by Collin Winter." msgstr "PEP escrito y ejecutado por Collin Winter." #: ../Doc/whatsnew/2.6.rst:945 msgid "PEP 3112: Byte Literals" msgstr "PEP 3112: Literales de bytes" #: ../Doc/whatsnew/2.6.rst:947 msgid "" "Python 3.0 adopts Unicode as the language's fundamental string type and " "denotes 8-bit literals differently, either as ``b'string'`` or using a :" "class:`bytes` constructor. For future compatibility, Python 2.6 adds :class:" "`bytes` as a synonym for the :class:`str` type, and it also supports the " "``b''`` notation." msgstr "" "Python 3.0 adopta Unicode como el tipo de cadena fundamental del lenguaje y " "denota los literales de 8 bits de forma diferente, ya sea como ``b'string`` " "o utilizando un constructor :class:`bytes`. Por compatibilidad futura, " "Python 2.6 añade :class:`bytes` como sinónimo del tipo :class:`str`, y " "también soporta la notación ``b''``." #: ../Doc/whatsnew/2.6.rst:954 msgid "" "The 2.6 :class:`str` differs from 3.0's :class:`bytes` type in various ways; " "most notably, the constructor is completely different. In 3.0, ``bytes([65, " "66, 67])`` is 3 elements long, containing the bytes representing ``ABC``; in " "2.6, ``bytes([65, 66, 67])`` returns the 12-byte string representing the :" "func:`str` of the list." msgstr "" "El tipo :class:`str` de la versión 2.6 difiere del tipo :class:`bytes` de la " "versión 3.0 en varios aspectos; el más notable es que el constructor es " "completamente diferente. En la 3.0, ``bytes([65, 66, 67])`` tiene 3 " "elementos, que contienen los bytes que representan ``ABC``; en la 2.6, " "``bytes([65, 66, 67])`` devuelve la cadena de 12 bytes que representa el :" "func:`str` de la lista." #: ../Doc/whatsnew/2.6.rst:960 msgid "" "The primary use of :class:`bytes` in 2.6 will be to write tests of object " "type such as ``isinstance(x, bytes)``. This will help the 2to3 converter, " "which can't tell whether 2.x code intends strings to contain either " "characters or 8-bit bytes; you can now use either :class:`bytes` or :class:" "`str` to represent your intention exactly, and the resulting code will also " "be correct in Python 3.0." msgstr "" "El uso principal de :class:`bytes` en 2.6 será escribir pruebas de tipo de " "objeto como ``isinstance(x, bytes)``. Esto ayudará al convertidor de 2 a 3, " "que no puede decir si el código de 2.x pretende que las cadenas contengan " "caracteres o bytes de 8 bits; ahora puede utilizar :class:`bytes` o :class:" "`str` para representar su intención exactamente, y el código resultante " "también será correcto en Python 3.0." #: ../Doc/whatsnew/2.6.rst:967 msgid "" "There's also a ``__future__`` import that causes all string literals to " "become Unicode strings. This means that ``\\u`` escape sequences can be " "used to include Unicode characters::" msgstr "" "También hay una importación ``__future__`` que hace que todos los literales " "de cadena se conviertan en cadenas Unicode. Esto significa que las " "secuencias de escape ``u`` pueden ser utilizadas para incluir caracteres " "Unicode::" #: ../Doc/whatsnew/2.6.rst:979 msgid "" "At the C level, Python 3.0 will rename the existing 8-bit string type, " "called :c:type:`!PyStringObject` in Python 2.x, to :c:type:`PyBytesObject`. " "Python 2.6 uses ``#define`` to support using the names :c:func:" "`PyBytesObject`, :c:func:`PyBytes_Check`, :c:func:" "`PyBytes_FromStringAndSize`, and all the other functions and macros used " "with strings." msgstr "" "A nivel de C, Python 3.0 renombrará el tipo de cadena de 8 bits existente, " "llamado :c:type:`!PyStringObject` en Python 2.x, a :c:type:`PyBytesObject`. " "Python 2.6 utiliza ``#define`` para soportar el uso de los nombres :c:func:" "`PyBytesObject`, :c:func:`PyBytes_Check`, :c:func:" "`PyBytes_FromStringAndSize`, y todas las demás funciones y macros utilizadas " "con cadenas." #: ../Doc/whatsnew/2.6.rst:986 msgid "" "Instances of the :class:`bytes` type are immutable just as strings are. A " "new :class:`bytearray` type stores a mutable sequence of bytes::" msgstr "" "Las instancias del tipo :class:`bytes` son inmutables al igual que las " "cadenas. Un nuevo tipo :class:`bytearray` almacena una secuencia mutable de " "bytes::" #: ../Doc/whatsnew/2.6.rst:1001 msgid "" "Byte arrays support most of the methods of string types, such as :meth:" "`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`, and some of the " "methods of lists, such as :meth:`append`, :meth:`pop`, and :meth:`reverse`." msgstr "" "Las matrices de bytes admiten la mayoría de los métodos de los tipos de " "cadena, como :meth:`startswith`/:meth:`endswith`, :meth:`find`/:meth:" "`rfind`, y algunos de los métodos de las listas, como :meth:`append`, :meth:" "`pop` y :meth:`reverse`." #: ../Doc/whatsnew/2.6.rst:1014 msgid "" "There's also a corresponding C API, with :c:func:`PyByteArray_FromObject`, :" "c:func:`PyByteArray_FromStringAndSize`, and various other functions." msgstr "" "También existe la correspondiente API en C, con :c:func:" "`PyByteArray_FromObject`, :c:func:`PyByteArray_FromStringAndSize`, y varias " "otras funciones." #: ../Doc/whatsnew/2.6.rst:1021 msgid ":pep:`3112` - Bytes literals in Python 3000" msgstr ":pep:`3112` - Literales de bytes en Python 3000" #: ../Doc/whatsnew/2.6.rst:1022 msgid "PEP written by Jason Orendorff; backported to 2.6 by Christian Heimes." msgstr "" "PEP escrito por Jason Orendorff; retroalimentado a 2.6 por Christian Heimes." #: ../Doc/whatsnew/2.6.rst:1029 msgid "PEP 3116: New I/O Library" msgstr "PEP 3116: Nueva biblioteca de E/S" #: ../Doc/whatsnew/2.6.rst:1031 msgid "" "Python's built-in file objects support a number of methods, but file-like " "objects don't necessarily support all of them. Objects that imitate files " "usually support :meth:`read` and :meth:`write`, but they may not support :" "meth:`readline`, for example. Python 3.0 introduces a layered I/O library " "in the :mod:`io` module that separates buffering and text-handling features " "from the fundamental read and write operations." msgstr "" "Los objetos de archivo incorporados en Python soportan una serie de métodos, " "pero los objetos que imitan a los archivos no necesariamente los soportan " "todos. Los objetos que imitan a los archivos normalmente soportan :meth:" "`read` y :meth:`write`, pero pueden no soportar :meth:`readline`, por " "ejemplo. Python 3.0 introduce una biblioteca de E/S por capas en el módulo :" "mod:`io` que separa las funciones de almacenamiento en búfer y manejo de " "texto de las operaciones fundamentales de lectura y escritura." #: ../Doc/whatsnew/2.6.rst:1039 msgid "" "There are three levels of abstract base classes provided by the :mod:`io` " "module:" msgstr "" "Existen tres niveles de clases base abstractas proporcionadas por el módulo :" "mod:`io`:" #: ../Doc/whatsnew/2.6.rst:1042 msgid "" ":class:`RawIOBase` defines raw I/O operations: :meth:`read`, :meth:" "`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:`truncate`, " "and :meth:`close`. Most of the methods of this class will often map to a " "single system call. There are also :meth:`readable`, :meth:`writable`, and :" "meth:`seekable` methods for determining what operations a given object will " "allow." msgstr "" ":class:`RawIOBase` define las operaciones de E/S en bruto: :meth:`read`, :" "meth:`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:" "`truncate`, y :meth:`close`. La mayoría de los métodos de esta clase suelen " "corresponder a una única llamada al sistema. También hay métodos :meth:" "`readable`, :meth:`writable` y :meth:`seekable` para determinar qué " "operaciones permite un objeto dado." #: ../Doc/whatsnew/2.6.rst:1050 msgid "" "Python 3.0 has concrete implementations of this class for files and sockets, " "but Python 2.6 hasn't restructured its file and socket objects in this way." msgstr "" "Python 3.0 tiene implementaciones concretas de esta clase para archivos y " "sockets, pero Python 2.6 no ha reestructurado sus objetos archivo y socket " "de esta manera." #: ../Doc/whatsnew/2.6.rst:1056 msgid "" ":class:`BufferedIOBase` is an abstract base class that buffers data in " "memory to reduce the number of system calls used, making I/O processing more " "efficient. It supports all of the methods of :class:`RawIOBase`, and adds a :" "attr:`raw` attribute holding the underlying raw object." msgstr "" ":class:`BufferedIOBase` es una clase base abstracta que almacena los datos " "en la memoria para reducir el número de llamadas al sistema, haciendo más " "eficiente el procesamiento de E/S. Soporta todos los métodos de :class:" "`RawIOBase`, y añade un atributo :attr:`raw` que contiene el objeto crudo " "subyacente." #: ../Doc/whatsnew/2.6.rst:1062 msgid "" "There are five concrete classes implementing this ABC. :class:" "`BufferedWriter` and :class:`BufferedReader` are for objects that support " "write-only or read-only usage that have a :meth:`seek` method for random " "access. :class:`BufferedRandom` objects support read and write access upon " "the same underlying stream, and :class:`BufferedRWPair` is for objects such " "as TTYs that have both read and write operations acting upon unconnected " "streams of data. The :class:`BytesIO` class supports reading, writing, and " "seeking over an in-memory buffer." msgstr "" "Hay cinco clases concretas que implementan este ABC. :class:`BufferedWriter` " "y :class:`BufferedReader` son para objetos que soportan el uso de sólo " "escritura o de sólo lectura que tienen un método :meth:`seek` para el acceso " "aleatorio. Los objetos :class:`BufferedRandom` soportan el acceso de lectura " "y escritura sobre el mismo flujo subyacente, y :class:`BufferedRWPair` es " "para objetos como los TTYs que tienen operaciones de lectura y escritura " "actuando sobre flujos de datos desconectados. La clase :class:`BytesIO` " "permite leer, escribir y buscar sobre un buffer en memoria." #: ../Doc/whatsnew/2.6.rst:1075 msgid "" ":class:`TextIOBase`: Provides functions for reading and writing strings " "(remember, strings will be Unicode in Python 3.0), and supporting :term:" "`universal newlines`. :class:`TextIOBase` defines the :meth:`readline` " "method and supports iteration upon objects." msgstr "" ":class:`TextIOBase`: Proporciona funciones para leer y escribir cadenas " "(recuerde que las cadenas serán Unicode en Python 3.0), y soporta :term:" "`universal newlines`. :class:`TextIOBase` define el método :meth:`readline` " "y soporta la iteración sobre objetos." #: ../Doc/whatsnew/2.6.rst:1081 msgid "" "There are two concrete implementations. :class:`TextIOWrapper` wraps a " "buffered I/O object, supporting all of the methods for text I/O and adding " "a :attr:`buffer` attribute for access to the underlying object. :class:" "`StringIO` simply buffers everything in memory without ever writing anything " "to disk." msgstr "" "Hay dos implementaciones concretas. :class:`TextIOWrapper` envuelve un " "objeto de E/S con buffer, soportando todos los métodos de E/S de texto y " "añadiendo un atributo :attr:`buffer` para acceder al objeto subyacente. :" "class:`StringIO` simplemente almacena todo en memoria sin escribir nunca " "nada en el disco." #: ../Doc/whatsnew/2.6.rst:1087 msgid "" "(In Python 2.6, :class:`io.StringIO` is implemented in pure Python, so it's " "pretty slow. You should therefore stick with the existing :mod:`StringIO` " "module or :mod:`cStringIO` for now. At some point Python 3.0's :mod:`io` " "module will be rewritten into C for speed, and perhaps the C implementation " "will be backported to the 2.x releases.)" msgstr "" "(En Python 2.6, :class:`io.StringIO` está implementado en Python puro, por " "lo que es bastante lento. Por lo tanto, deberías seguir con el módulo :mod:" "`StringIO` existente o con :mod:`cStringIO` por ahora. En algún momento el " "módulo :mod:`io` de Python 3.0 será reescrito en C para aumentar la " "velocidad, y quizás la implementación en C será retroalimentada a las " "versiones 2.x)" #: ../Doc/whatsnew/2.6.rst:1093 msgid "" "In Python 2.6, the underlying implementations haven't been restructured to " "build on top of the :mod:`io` module's classes. The module is being " "provided to make it easier to write code that's forward-compatible with 3.0, " "and to save developers the effort of writing their own implementations of " "buffering and text I/O." msgstr "" "En Python 2.6, las implementaciones subyacentes no han sido reestructuradas " "para construir sobre las clases del módulo :mod:`io`. El módulo se " "proporciona para facilitar la escritura de código compatible con la versión " "3.0, y para ahorrar a los desarrolladores el esfuerzo de escribir sus " "propias implementaciones de búfer y E/S de texto." #: ../Doc/whatsnew/2.6.rst:1103 msgid ":pep:`3116` - New I/O" msgstr ":pep:`3116` - Nueva E/S" #: ../Doc/whatsnew/2.6.rst:1102 msgid "" "PEP written by Daniel Stutzbach, Mike Verdone, and Guido van Rossum. Code by " "Guido van Rossum, Georg Brandl, Walter Doerwald, Jeremy Hylton, Martin von " "Löwis, Tony Lownds, and others." msgstr "" "PEP escrito por Daniel Stutzbach, Mike Verdone y Guido van Rossum. Código de " "Guido van Rossum, Georg Brandl, Walter Doerwald, Jeremy Hylton, Martin von " "Löwis, Tony Lownds y otros." #: ../Doc/whatsnew/2.6.rst:1111 msgid "PEP 3118: Revised Buffer Protocol" msgstr "PEP 3118: Protocolo revisado de la memoria intermedia" #: ../Doc/whatsnew/2.6.rst:1113 msgid "" "The buffer protocol is a C-level API that lets Python types exchange " "pointers into their internal representations. A memory-mapped file can be " "viewed as a buffer of characters, for example, and this lets another module " "such as :mod:`re` treat memory-mapped files as a string of characters to be " "searched." msgstr "" "El protocolo de búferes es una API de nivel C que permite a los tipos de " "Python intercambiar punteros a sus representaciones internas. Un archivo " "mapeado en memoria puede ser visto como un buffer de caracteres, por " "ejemplo, y esto permite que otro módulo como :mod:`re` trate los archivos " "mapeados en memoria como una cadena de caracteres a buscar." #: ../Doc/whatsnew/2.6.rst:1119 msgid "" "The primary users of the buffer protocol are numeric-processing packages " "such as NumPy, which expose the internal representation of arrays so that " "callers can write data directly into an array instead of going through a " "slower API. This PEP updates the buffer protocol in light of experience " "from NumPy development, adding a number of new features such as indicating " "the shape of an array or locking a memory region." msgstr "" "Los principales usuarios del protocolo de búferes son los paquetes de " "procesamiento numérico como NumPy, que exponen la representación interna de " "los arrays para que los invocadores puedan escribir datos directamente en un " "array en lugar de pasar por una API más lenta. Este PEP actualiza el " "protocolo de búfer a la luz de la experiencia del desarrollo de NumPy, " "añadiendo una serie de nuevas características como la indicación de la forma " "de un array o el bloqueo de una región de memoria." #: ../Doc/whatsnew/2.6.rst:1126 msgid "" "The most important new C API function is ``PyObject_GetBuffer(PyObject *obj, " "Py_buffer *view, int flags)``, which takes an object and a set of flags, and " "fills in the ``Py_buffer`` structure with information about the object's " "memory representation. Objects can use this operation to lock memory in " "place while an external caller could be modifying the contents, so there's a " "corresponding ``PyBuffer_Release(Py_buffer *view)`` to indicate that the " "external caller is done." msgstr "" "La nueva función más importante de la API en C es " "``PyObject_GetBuffer(PyObject *obj, Py_buffer *view, int flags)``, que toma " "un objeto y un conjunto de flags, y rellena la estructura ``Py_buffer`` con " "información sobre la representación en memoria del objeto. Los objetos " "pueden utilizar esta operación para bloquear la memoria en su lugar mientras " "un llamador externo podría estar modificando el contenido, por lo que hay un " "correspondiente ``PyBuffer_Release(Py_buffer *view)`` para indicar que el " "llamador externo ha terminado." #: ../Doc/whatsnew/2.6.rst:1138 msgid "" "The *flags* argument to :c:func:`PyObject_GetBuffer` specifies constraints " "upon the memory returned. Some examples are:" msgstr "" "El argumento *flags* de :c:func:`PyObject_GetBuffer` especifica las " "restricciones de la memoria devuelta. Algunos ejemplos son:" #: ../Doc/whatsnew/2.6.rst:1141 msgid ":c:macro:`PyBUF_WRITABLE` indicates that the memory must be writable." msgstr ":c:macro:`PyBUF_WRITABLE` indica que la memoria debe ser grabable." #: ../Doc/whatsnew/2.6.rst:1143 msgid "" ":c:macro:`PyBUF_LOCK` requests a read-only or exclusive lock on the memory." msgstr "" ":c:macro:`PyBUF_LOCK` solicita un bloqueo de sólo lectura o exclusivo en la " "memoria." #: ../Doc/whatsnew/2.6.rst:1145 msgid "" ":c:macro:`PyBUF_C_CONTIGUOUS` and :c:macro:`PyBUF_F_CONTIGUOUS` requests a C-" "contiguous (last dimension varies the fastest) or Fortran-contiguous (first " "dimension varies the fastest) array layout." msgstr "" ":c:macro:`PyBUF_C_CONTIGUOUS` y :c:macro:`PyBUF_F_CONTIGUOUS` solicitan una " "disposición de matriz contigua en C (la última dimensión varía más " "rápidamente) o contigua en Fortran (la primera dimensión varía más " "rápidamente)." #: ../Doc/whatsnew/2.6.rst:1149 msgid "" "Two new argument codes for :c:func:`PyArg_ParseTuple`, ``s*`` and ``z*``, " "return locked buffer objects for a parameter." msgstr "" "Dos nuevos códigos de argumento para :c:func:`PyArg_ParseTuple`, ``s*`` y " "``z*``, devuelven objetos buffer bloqueados para un parámetro." #: ../Doc/whatsnew/2.6.rst:1155 msgid ":pep:`3118` - Revising the buffer protocol" msgstr ":pep:`3118` - Revisión del protocolo del buffer" #: ../Doc/whatsnew/2.6.rst:1155 msgid "" "PEP written by Travis Oliphant and Carl Banks; implemented by Travis " "Oliphant." msgstr "" "PEP escrito por Travis Oliphant y Carl Banks; implementado por Travis " "Oliphant." #: ../Doc/whatsnew/2.6.rst:1164 msgid "PEP 3119: Abstract Base Classes" msgstr "PEP 3119: Clases base abstractas" #: ../Doc/whatsnew/2.6.rst:1166 msgid "" "Some object-oriented languages such as Java support interfaces, declaring " "that a class has a given set of methods or supports a given access " "protocol. Abstract Base Classes (or ABCs) are an equivalent feature for " "Python. The ABC support consists of an :mod:`abc` module containing a " "metaclass called :class:`ABCMeta`, special handling of this metaclass by " "the :func:`isinstance` and :func:`issubclass` builtins, and a collection of " "basic ABCs that the Python developers think will be widely useful. Future " "versions of Python will probably add more ABCs." msgstr "" "Algunos lenguajes orientados a objetos, como Java, admiten interfaces, que " "declaran que una clase tiene un determinado conjunto de métodos o admite un " "determinado protocolo de acceso. Las clases base abstractas (o ABC) son una " "característica equivalente para Python. El soporte de ABC consiste en un " "módulo :mod:`abc` que contiene una metaclase llamada :class:`ABCMeta`, un " "manejo especial de esta metaclase por parte de los builtins :func:" "`isinstance` y :func:`issubclass`, y una colección de ABCs básicas que los " "desarrolladores de Python creen que serán ampliamente útiles. Las futuras " "versiones de Python probablemente añadirán más ABCs." #: ../Doc/whatsnew/2.6.rst:1176 msgid "" "Let's say you have a particular class and wish to know whether it supports " "dictionary-style access. The phrase \"dictionary-style\" is vague, however. " "It probably means that accessing items with ``obj[1]`` works. Does it imply " "that setting items with ``obj[2] = value`` works? Or that the object will " "have :meth:`keys`, :meth:`values`, and :meth:`items` methods? What about " "the iterative variants such as :meth:`iterkeys`? :meth:`copy` and :meth:" "`update`? Iterating over the object with :func:`iter`?" msgstr "" "Supongamos que tiene una clase concreta y desea saber si admite el acceso " "tipo diccionario. Sin embargo, la frase \"estilo diccionario\" es vaga. " "Probablemente significa que el acceso a los elementos con ``obj[1]`` " "funciona. ¿Implica que el establecimiento de elementos con ``obj[2] = " "valor`` funciona? ¿O que el objeto tendrá métodos :meth:`keys`, :meth:" "`values` y :meth:`items`? ¿Qué pasa con las variantes iterativas como :meth:" "`iterkeys`? :meth:`copy` y :meth:`update`? ¿Iterar sobre el objeto con :" "func:`iter`?" #: ../Doc/whatsnew/2.6.rst:1184 msgid "" "The Python 2.6 :mod:`collections` module includes a number of different ABCs " "that represent these distinctions. :class:`Iterable` indicates that a class " "defines :meth:`__iter__`, and :class:`Container` means the class defines a :" "meth:`__contains__` method and therefore supports ``x in y`` expressions. " "The basic dictionary interface of getting items, setting items, and :meth:" "`keys`, :meth:`values`, and :meth:`items`, is defined by the :class:" "`MutableMapping` ABC." msgstr "" "El módulo :mod:`collections` de Python 2.6 incluye un número de ABCs " "diferentes que representan estas distinciones. :class:`Iterable` indica que " "una clase define :meth:`__iter__`, y :class:`Container` significa que la " "clase define un método :meth:`__contains__` y por lo tanto soporta " "expresiones ``x in y``. La interfaz básica del diccionario para obtener " "elementos, establecer elementos, y :meth:`llaves`, :meth:`valores`, y :meth:" "`elementos`, está definida por el :class:`MutableMapping` ABC." #: ../Doc/whatsnew/2.6.rst:1193 msgid "" "You can derive your own classes from a particular ABC to indicate they " "support that ABC's interface::" msgstr "" "Puedes derivar tus propias clases de un ABC particular para indicar que " "soportan la interfaz de ese ABC::" #: ../Doc/whatsnew/2.6.rst:1202 msgid "" "Alternatively, you could write the class without deriving from the desired " "ABC and instead register the class by calling the ABC's :meth:`register` " "method::" msgstr "" "Alternativamente, puede escribir la clase sin derivar del ABC deseado y en " "su lugar registrar la clase llamando al método :meth:`register` del ABC::" #: ../Doc/whatsnew/2.6.rst:1213 msgid "" "For classes that you write, deriving from the ABC is probably clearer. The :" "meth:`register` method is useful when you've written a new ABC that can " "describe an existing type or class, or if you want to declare that some " "third-party class implements an ABC. For example, if you defined a :class:" "`PrintableType` ABC, it's legal to do::" msgstr "" "Para las clases que usted escribe, derivar del ABC es probablemente más " "claro. El método :meth:`register` es útil cuando has escrito un nuevo ABC " "que puede describir un tipo o clase existente, o si quieres declarar que " "alguna clase de terceros implementa un ABC. Por ejemplo, si has definido un :" "class:`PrintableType` ABC, es legal hacer::" #: ../Doc/whatsnew/2.6.rst:1225 msgid "" "Classes should obey the semantics specified by an ABC, but Python can't " "check this; it's up to the class author to understand the ABC's requirements " "and to implement the code accordingly." msgstr "" "Las clases deben obedecer la semántica especificada por un ABC, pero Python " "no puede comprobarlo; depende del autor de la clase entender los requisitos " "del ABC e implementar el código en consecuencia." #: ../Doc/whatsnew/2.6.rst:1229 msgid "" "To check whether an object supports a particular interface, you can now " "write::" msgstr "" "Para comprobar si un objeto es compatible con una determinada interfaz, " "ahora se puede escribir::" #: ../Doc/whatsnew/2.6.rst:1236 msgid "" "Don't feel that you must now begin writing lots of checks as in the above " "example. Python has a strong tradition of duck-typing, where explicit type-" "checking is never done and code simply calls methods on an object, trusting " "that those methods will be there and raising an exception if they aren't. " "Be judicious in checking for ABCs and only do it where it's absolutely " "necessary." msgstr "" "No sientas que ahora debes empezar a escribir muchas comprobaciones como en " "el ejemplo anterior. Python tiene una fuerte tradición de \"duck-typing\", " "donde la comprobación explícita de tipos nunca se hace y el código " "simplemente llama a los métodos de un objeto, confiando en que esos métodos " "estarán ahí y lanzando una excepción si no lo están. Sea juicioso al " "comprobar el ABC y hágalo sólo cuando sea absolutamente necesario." #: ../Doc/whatsnew/2.6.rst:1243 msgid "" "You can write your own ABCs by using ``abc.ABCMeta`` as the metaclass in a " "class definition::" msgstr "" "Puedes escribir tu propio ABC utilizando ``abc.ABCMeta`` como metaclase en " "una definición de clase::" #: ../Doc/whatsnew/2.6.rst:1264 msgid "" "In the :class:`Drawable` ABC above, the :meth:`draw_doubled` method renders " "the object at twice its size and can be implemented in terms of other " "methods described in :class:`Drawable`. Classes implementing this ABC " "therefore don't need to provide their own implementation of :meth:" "`draw_doubled`, though they can do so. An implementation of :meth:`draw` is " "necessary, though; the ABC can't provide a useful generic implementation." msgstr "" "En el ABC de :class:`Drawable` anterior, el método :meth:`draw_doubled` " "renderiza el objeto al doble de su tamaño y puede ser implementado en " "términos de otros métodos descritos en :class:`Drawable`. Las clases que " "implementan este ABC no necesitan proporcionar su propia implementación de :" "meth:`draw_doubled`, aunque pueden hacerlo. Sin embargo, es necesaria una " "implementación de :meth:`draw`; el ABC no puede proporcionar una " "implementación genérica útil." #: ../Doc/whatsnew/2.6.rst:1272 msgid "" "You can apply the ``@abstractmethod`` decorator to methods such as :meth:" "`draw` that must be implemented; Python will then raise an exception for " "classes that don't define the method. Note that the exception is only raised " "when you actually try to create an instance of a subclass lacking the " "method::" msgstr "" "Puedes aplicar el decorador ``@abstractmethod`` a métodos como :meth:`draw` " "que deben ser implementados; Python lanzará una excepción para las clases " "que no definan el método. Ten en cuenta que la excepción sólo se produce " "cuando intentas crear una instancia de una subclase que carece del método::" #: ../Doc/whatsnew/2.6.rst:1287 msgid "" "Abstract data attributes can be declared using the ``@abstractproperty`` " "decorator::" msgstr "" "Los atributos de datos abstractos pueden declararse utilizando el decorador " "``@abstractproperty``::" #: ../Doc/whatsnew/2.6.rst:1297 msgid "Subclasses must then define a :meth:`readonly` property." msgstr "Las subclases deben definir una propiedad :meth:`readonly`." #: ../Doc/whatsnew/2.6.rst:1303 msgid ":pep:`3119` - Introducing Abstract Base Classes" msgstr ":pep:`3119` - Presentación de las clases base abstractas" #: ../Doc/whatsnew/2.6.rst:1302 msgid "" "PEP written by Guido van Rossum and Talin. Implemented by Guido van Rossum. " "Backported to 2.6 by Benjamin Aranguren, with Alex Martelli." msgstr "" "PEP escrito por Guido van Rossum y Talin. Implementado por Guido van Rossum. " "Adaptado a la versión 2.6 por Benjamin Aranguren, con Alex Martelli." #: ../Doc/whatsnew/2.6.rst:1311 msgid "PEP 3127: Integer Literal Support and Syntax" msgstr "PEP 3127: Soporte y sintaxis de literales enteros" #: ../Doc/whatsnew/2.6.rst:1313 msgid "" "Python 3.0 changes the syntax for octal (base-8) integer literals, prefixing " "them with \"0o\" or \"0O\" instead of a leading zero, and adds support for " "binary (base-2) integer literals, signalled by a \"0b\" or \"0B\" prefix." msgstr "" "Python 3.0 cambia la sintaxis de los literales enteros octales (base-8), " "prefijándolos con \"0o\" o \"0O\" en lugar de un cero inicial, y añade " "soporte para los literales enteros binarios (base-2), señalados con un " "prefijo \"0b\" o \"0B\"." #: ../Doc/whatsnew/2.6.rst:1318 msgid "" "Python 2.6 doesn't drop support for a leading 0 signalling an octal number, " "but it does add support for \"0o\" and \"0b\"::" msgstr "" "Python 2.6 no elimina el soporte para el 0 inicial que señala un número " "octal, pero sí añade soporte para \"0o\" y \"0b\"::" #: ../Doc/whatsnew/2.6.rst:1326 msgid "" "The :func:`oct` builtin still returns numbers prefixed with a leading zero, " "and a new :func:`bin` builtin returns the binary representation for a " "number::" msgstr "" "La función :func:`oct` sigue devolviendo números prefijados con un cero a la " "izquierda, y la nueva función :func:`bin` devuelve la representación binaria " "de un número::" #: ../Doc/whatsnew/2.6.rst:1337 msgid "" "The :func:`int` and :func:`long` builtins will now accept the \"0o\" and " "\"0b\" prefixes when base-8 or base-2 are requested, or when the *base* " "argument is zero (signalling that the base used should be determined from " "the string)::" msgstr "" "Las funciones built-in :func:`int` y :func:`long` aceptarán ahora los " "prefijos \"0o\" y \"0b\" cuando se solicite base-8 o base-2, o cuando el " "argumento *base* sea cero (indicando que la base utilizada debe determinarse " "a partir de la cadena)::" #: ../Doc/whatsnew/2.6.rst:1355 msgid ":pep:`3127` - Integer Literal Support and Syntax" msgstr ":pep:`3127` - Soporte y sintaxis de literales enteros" #: ../Doc/whatsnew/2.6.rst:1355 msgid "PEP written by Patrick Maupin; backported to 2.6 by Eric Smith." msgstr "PEP escrito por Patrick Maupin; retroalimentado a 2.6 por Eric Smith." #: ../Doc/whatsnew/2.6.rst:1363 msgid "PEP 3129: Class Decorators" msgstr "PEP 3129: Decoradores de clase" #: ../Doc/whatsnew/2.6.rst:1365 msgid "" "Decorators have been extended from functions to classes. It's now legal to " "write::" msgstr "" "Los decoradores se han ampliado de funciones a clases. Ahora es legal " "escribir::" #: ../Doc/whatsnew/2.6.rst:1373 msgid "This is equivalent to::" msgstr "Esto equivale a::" #: ../Doc/whatsnew/2.6.rst:1382 msgid ":pep:`3129` - Class Decorators" msgstr ":pep:`3129` - Decoradores de clase" #: ../Doc/whatsnew/2.6.rst:1383 msgid "PEP written by Collin Winter." msgstr "PEP escrito por Collin Winter." #: ../Doc/whatsnew/2.6.rst:1390 msgid "PEP 3141: A Type Hierarchy for Numbers" msgstr "PEP 3141: Una jerarquía de tipos para los números" #: ../Doc/whatsnew/2.6.rst:1392 msgid "" "Python 3.0 adds several abstract base classes for numeric types inspired by " "Scheme's numeric tower. These classes were backported to 2.6 as the :mod:" "`numbers` module." msgstr "" "Python 3.0 añade varias clases base abstractas para tipos numéricos " "inspiradas en la torre numérica de Scheme. Estas clases fueron retrocedidas " "a la versión 2.6 como el módulo :mod:`numbers`." #: ../Doc/whatsnew/2.6.rst:1396 msgid "" "The most general ABC is :class:`Number`. It defines no operations at all, " "and only exists to allow checking if an object is a number by doing " "``isinstance(obj, Number)``." msgstr "" "El ABC más general es :class:`Number`. No define ninguna operación, y sólo " "existe para permitir comprobar si un objeto es un número haciendo " "``isinstance(obj, Number)``." #: ../Doc/whatsnew/2.6.rst:1400 msgid "" ":class:`Complex` is a subclass of :class:`Number`. Complex numbers can " "undergo the basic operations of addition, subtraction, multiplication, " "division, and exponentiation, and you can retrieve the real and imaginary " "parts and obtain a number's conjugate. Python's built-in complex type is an " "implementation of :class:`Complex`." msgstr "" ":class:`Complex` es una subclase de :class:`Number`. Los números complejos " "pueden someterse a las operaciones básicas de suma, resta, multiplicación, " "división y exponenciación, y se pueden recuperar las partes real e " "imaginaria y obtener el conjugado de un número. El tipo complejo " "incorporado en Python es una implementación de :class:`Complex`." #: ../Doc/whatsnew/2.6.rst:1406 msgid "" ":class:`Real` further derives from :class:`Complex`, and adds operations " "that only work on real numbers: :func:`floor`, :func:`trunc`, rounding, " "taking the remainder mod N, floor division, and comparisons." msgstr "" ":class:`Real` deriva a su vez de :class:`Complex`, y añade operaciones que " "sólo funcionan con números reales: :func:`floor`, :func:`trunc`, redondeo, " "toma del resto mod N, división entera a la baja y comparaciones." #: ../Doc/whatsnew/2.6.rst:1411 msgid "" ":class:`Rational` numbers derive from :class:`Real`, have :attr:`numerator` " "and :attr:`denominator` properties, and can be converted to floats. Python " "2.6 adds a simple rational-number class, :class:`Fraction`, in the :mod:" "`fractions` module. (It's called :class:`Fraction` instead of :class:" "`Rational` to avoid a name clash with :class:`numbers.Rational`.)" msgstr "" "Los números :class:`Rational` derivan de :class:`Real`, tienen las " "propiedades :attr:`numerator` y :attr:`denominator`, y se pueden convertir " "en flotantes. Python 2.6 añade una clase simple de números racionales, :" "class:`Fraction`, en el módulo :mod:`fractions`. (Se llama :class:" "`Fraction` en lugar de :class:`Rational` para evitar un choque de nombres " "con :class:`numbers.Rational`)" #: ../Doc/whatsnew/2.6.rst:1418 msgid "" ":class:`Integral` numbers derive from :class:`Rational`, and can be shifted " "left and right with ``<<`` and ``>>``, combined using bitwise operations " "such as ``&`` and ``|``, and can be used as array indexes and slice " "boundaries." msgstr "" "Los números de :class:`Integral` derivan de :class:`Rational`, y pueden " "desplazarse a la izquierda y a la derecha con ``<`` y ``>```, combinarse " "utilizando operaciones de bits como ``&`` y ``|``, y pueden utilizarse como " "índices de matrices y límites de cortes." #: ../Doc/whatsnew/2.6.rst:1423 msgid "" "In Python 3.0, the PEP slightly redefines the existing builtins :func:" "`round`, :func:`math.floor`, :func:`math.ceil`, and adds a new one, :func:" "`math.trunc`, that's been backported to Python 2.6. :func:`math.trunc` " "rounds toward zero, returning the closest :class:`Integral` that's between " "the function's argument and zero." msgstr "" "En Python 3.0, el PEP redefine ligeramente las funciones integradas " "existentes :func:`round`, :func:`math.floor`, :func:`math.ceil`, y añade uno " "nuevo, :func:`math.trunc`, que ha sido retrocedido a Python 2.6. :func:`math." "trunc` redondea hacia cero, devolviendo el :class:`Integral` más cercano que " "esté entre el argumento de la función y cero." #: ../Doc/whatsnew/2.6.rst:1432 msgid ":pep:`3141` - A Type Hierarchy for Numbers" msgstr ":pep:`3141` - Una jerarquía de tipos para los números" #: ../Doc/whatsnew/2.6.rst:1432 msgid "PEP written by Jeffrey Yasskin." msgstr "PEP escrito por Jeffrey Yasskin." #: ../Doc/whatsnew/2.6.rst:1434 msgid "" "`Scheme's numerical tower `__, from the Guile manual." msgstr "" "`Torre numérica del esquema `__, del manual de Guile." #: ../Doc/whatsnew/2.6.rst:1436 msgid "" "`Scheme's number datatypes `__ from the R5RS " "Scheme specification." msgstr "" "`Scheme's number datatypes `__ de la " "especificación del esquema R5RS." #: ../Doc/whatsnew/2.6.rst:1440 msgid "The :mod:`fractions` Module" msgstr "El módulo :mod:`fractions`" #: ../Doc/whatsnew/2.6.rst:1442 msgid "" "To fill out the hierarchy of numeric types, the :mod:`fractions` module " "provides a rational-number class. Rational numbers store their values as a " "numerator and denominator forming a fraction, and can exactly represent " "numbers such as ``2/3`` that floating-point numbers can only approximate." msgstr "" "Para completar la jerarquía de tipos numéricos, el módulo :mod:`fractions` " "proporciona una clase de números racionales. Los números racionales " "almacenan sus valores como un numerador y un denominador que forman una " "fracción, y pueden representar exactamente números como ``2/3`` que los " "números de punto flotante sólo pueden aproximar." #: ../Doc/whatsnew/2.6.rst:1448 msgid "" "The :class:`Fraction` constructor takes two :class:`Integral` values that " "will be the numerator and denominator of the resulting fraction. ::" msgstr "" "El constructor :class:`Fraction` toma dos valores :class:`Integral` que " "serán el numerador y el denominador de la fracción resultante. ::" #: ../Doc/whatsnew/2.6.rst:1461 msgid "" "For converting floating-point numbers to rationals, the float type now has " "an :meth:`as_integer_ratio()` method that returns the numerator and " "denominator for a fraction that evaluates to the same floating-point value::" msgstr "" "Para convertir números de punto flotante en racionales, el tipo float tiene " "ahora un método :meth:`as_integer_ratio()` que devuelve el numerador y el " "denominador de una fracción que se evalúa al mismo valor de punto flotante::" #: ../Doc/whatsnew/2.6.rst:1473 msgid "" "Note that values that can only be approximated by floating-point numbers, " "such as 1./3, are not simplified to the number being approximated; the " "fraction attempts to match the floating-point value **exactly**." msgstr "" "Tenga en cuenta que los valores que sólo pueden ser aproximados por números " "de punto flotante, como 1,/3, no se simplifican al número que se está " "aproximando; la fracción intenta coincidir con el valor de punto flotante " "**exactamente**." #: ../Doc/whatsnew/2.6.rst:1478 msgid "" "The :mod:`fractions` module is based upon an implementation by Sjoerd " "Mullender that was in Python's :file:`Demo/classes/` directory for a long " "time. This implementation was significantly updated by Jeffrey Yasskin." msgstr "" "El módulo :mod:`fractions` se basa en una implementación de Sjoerd Mullender " "que estuvo en el directorio :file:`Demo/classes/` de Python durante mucho " "tiempo. Esta implementación fue significativamente actualizada por Jeffrey " "Yasskin." #: ../Doc/whatsnew/2.6.rst:1485 msgid "Other Language Changes" msgstr "Otros cambios lingüísticos" #: ../Doc/whatsnew/2.6.rst:1487 msgid "Some smaller changes made to the core Python language are:" msgstr "" "Algunos de los cambios más pequeños realizados en el núcleo del lenguaje " "Python son:" #: ../Doc/whatsnew/2.6.rst:1489 msgid "" "Directories and zip archives containing a :file:`__main__.py` file can now " "be executed directly by passing their name to the interpreter. The directory " "or zip archive is automatically inserted as the first entry in sys.path. " "(Suggestion and initial patch by Andy Chu, subsequently revised by Phillip " "J. Eby and Nick Coghlan; :issue:`1739468`.)" msgstr "" "Los directorios y archivos zip que contengan un archivo :file:`__main__.py` " "pueden ahora ejecutarse directamente pasando su nombre al intérprete. El " "directorio o archivo zip se inserta automáticamente como la primera entrada " "en sys.path. (Sugerencia y parche inicial de Andy Chu, revisado " "posteriormente por Phillip J. Eby y Nick Coghlan; :issue:`1739468`)" #: ../Doc/whatsnew/2.6.rst:1496 msgid "" "The :func:`hasattr` function was catching and ignoring all errors, under the " "assumption that they meant a :meth:`__getattr__` method was failing somehow " "and the return value of :func:`hasattr` would therefore be ``False``. This " "logic shouldn't be applied to :exc:`KeyboardInterrupt` and :exc:" "`SystemExit`, however; Python 2.6 will no longer discard such exceptions " "when :func:`hasattr` encounters them. (Fixed by Benjamin Peterson; :issue:" "`2196`.)" msgstr "" "La función :func:`hasattr` estaba capturando e ignorando todos los errores, " "bajo la suposición de que significaban que un método :meth:`__getattr__` " "estaba fallando de alguna manera y que el valor de retorno de :func:" "`hasattr` sería por tanto ``False``. Esta lógica no debería aplicarse a :" "exc:`KeyboardInterrupt` y :exc:`SystemExit`, sin embargo; Python 2.6 ya no " "descartará tales excepciones cuando :func:`hasattr` las encuentre. " "(Corregido por Benjamin Peterson; :issue:`2196`.)" #: ../Doc/whatsnew/2.6.rst:1504 msgid "" "When calling a function using the ``**`` syntax to provide keyword " "arguments, you are no longer required to use a Python dictionary; any " "mapping will now work::" msgstr "" "Cuando se llama a una función utilizando la sintaxis ``**`` para " "proporcionar argumentos de palabras clave, ya no es necesario utilizar un " "diccionario de Python; ahora funcionará cualquier asignación::" #: ../Doc/whatsnew/2.6.rst:1517 msgid "(Contributed by Alexander Belopolsky; :issue:`1686487`.)" msgstr "(Contribución de Alexander Belopolsky; :issue:`1686487`.)" #: ../Doc/whatsnew/2.6.rst:1519 msgid "" "It's also become legal to provide keyword arguments after a ``*args`` " "argument to a function call. ::" msgstr "" "También se ha convertido en legal proporcionar argumentos de palabras clave " "después de un argumento ``*args`` a una llamada de función. ::" #: ../Doc/whatsnew/2.6.rst:1528 msgid "" "Previously this would have been a syntax error. (Contributed by Amaury " "Forgeot d'Arc; :issue:`3473`.)" msgstr "" "Anteriormente, esto habría sido un error de sintaxis. (Contribución de " "Amaury Forgeot d'Arc; :issue:`3473`.)" #: ../Doc/whatsnew/2.6.rst:1531 msgid "" "A new builtin, ``next(iterator, [default])`` returns the next item from the " "specified iterator. If the *default* argument is supplied, it will be " "returned if *iterator* has been exhausted; otherwise, the :exc:" "`StopIteration` exception will be raised. (Backported in :issue:`2719`.)" msgstr "" "Un nuevo builtin, ``next(iterator, [default])`` devuelve el siguiente " "elemento del iterador especificado. Si se suministra el argumento " "*default*, se devolverá si *iterador* se ha agotado; en caso contrario, se " "lanzará la excepción :exc:`StopIteration`. (Se ha modificado en :issue:" "`2719`.)" #: ../Doc/whatsnew/2.6.rst:1537 msgid "" "Tuples now have :meth:`index` and :meth:`count` methods matching the list " "type's :meth:`index` and :meth:`count` methods::" msgstr "" "Las tuplas tienen ahora métodos :meth:`index` y :meth:`count` que coinciden " "con los métodos :meth:`index` y :meth:`count` del tipo lista::" #: ../Doc/whatsnew/2.6.rst:1546 msgid "(Contributed by Raymond Hettinger)" msgstr "(Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:1548 msgid "" "The built-in types now have improved support for extended slicing syntax, " "accepting various combinations of ``(start, stop, step)``. Previously, the " "support was partial and certain corner cases wouldn't work. (Implemented by " "Thomas Wouters.)" msgstr "" "Los tipos incorporados tienen ahora un soporte mejorado para la sintaxis de " "corte extendida, aceptando varias combinaciones de ``(inicio, parada, " "paso)``. Anteriormente, el soporte era parcial y algunos casos de esquina no " "funcionaban. (Implementado por Thomas Wouters)" #: ../Doc/whatsnew/2.6.rst:1555 msgid "" "Properties now have three attributes, :attr:`getter`, :attr:`setter` and :" "attr:`deleter`, that are decorators providing useful shortcuts for adding a " "getter, setter or deleter function to an existing property. You would use " "them like this::" msgstr "" "Las propiedades tienen ahora tres atributos, :attr:`getter`, :attr:`setter` " "y :attr:`deleter`, que son decoradores que proporcionan atajos útiles para " "añadir una función getter, setter o deleter a una propiedad existente. Los " "usarás así::" #: ../Doc/whatsnew/2.6.rst:1582 msgid "" "Several methods of the built-in set types now accept multiple iterables: :" "meth:`intersection`, :meth:`intersection_update`, :meth:`union`, :meth:" "`update`, :meth:`difference` and :meth:`difference_update`." msgstr "" "Varios métodos de los tipos de conjuntos incorporados aceptan ahora " "múltiples iterables: :meth:`intersection`, :meth:`intersection_update`, :" "meth:`union`, :meth:`update`, :meth:`difference` y :meth:`difference_update`." #: ../Doc/whatsnew/2.6.rst:1596 ../Doc/whatsnew/2.6.rst:1880 #: ../Doc/whatsnew/2.6.rst:1901 msgid "(Contributed by Raymond Hettinger.)" msgstr "(Contribución de Raymond Hettinger.)" #: ../Doc/whatsnew/2.6.rst:1598 msgid "" "Many floating-point features were added. The :func:`float` function will " "now turn the string ``nan`` into an IEEE 754 Not A Number value, and " "``+inf`` and ``-inf`` into positive or negative infinity. This works on any " "platform with IEEE 754 semantics. (Contributed by Christian Heimes; :issue:" "`1635`.)" msgstr "" "Se han añadido muchas funciones de punto flotante. La función :func:`float` " "ahora convertirá la cadena ``nan`` en un valor IEEE 754 Not A Number, y " "``+inf`` y ``-inf`` en infinito positivo o negativo. Esto funciona en " "cualquier plataforma con semántica IEEE 754. (Contribución de Christian " "Heimes; :issue:`1635`.)" #: ../Doc/whatsnew/2.6.rst:1604 msgid "" "Other functions in the :mod:`math` module, :func:`isinf` and :func:`isnan`, " "return true if their floating-point argument is infinite or Not A Number. (:" "issue:`1640`)" msgstr "" "Otras funciones del módulo :mod:`math`, :func:`isinf` y :func:`isnan`, " "devuelven true si su argumento en coma flotante es infinito o No es un " "número. (:issue:`1640`)" #: ../Doc/whatsnew/2.6.rst:1608 msgid "" "Conversion functions were added to convert floating-point numbers into " "hexadecimal strings (:issue:`3008`). These functions convert floats to and " "from a string representation without introducing rounding errors from the " "conversion between decimal and binary. Floats have a :meth:`hex` method " "that returns a string representation, and the ``float.fromhex()`` method " "converts a string back into a number::" msgstr "" "Se han añadido funciones de conversión para convertir números de punto " "flotante en cadenas hexadecimales (:issue:`3008`). Estas funciones " "convierten los números flotantes a y desde una representación de cadena sin " "introducir errores de redondeo por la conversión entre decimal y binario. " "Los flotadores tienen un método :meth:`hex` que devuelve una representación " "de cadena, y el método ``float.fromhex()`` convierte una cadena de nuevo en " "un número::" #: ../Doc/whatsnew/2.6.rst:1625 msgid "" "A numerical nicety: when creating a complex number from two floats on " "systems that support signed zeros (-0 and +0), the :func:`complex` " "constructor will now preserve the sign of the zero. (Fixed by Mark T. " "Dickinson; :issue:`1507`.)" msgstr "" "Un detalle numérico: cuando se crea un número complejo a partir de dos " "flotantes en sistemas que admiten ceros con signo (-0 y +0), el constructor :" "func:`complex` conserva ahora el signo del cero. (Corregido por Mark T. " "Dickinson; :issue:`1507`.)" #: ../Doc/whatsnew/2.6.rst:1630 msgid "" "Classes that inherit a :meth:`__hash__` method from a parent class can set " "``__hash__ = None`` to indicate that the class isn't hashable. This will " "make ``hash(obj)`` raise a :exc:`TypeError` and the class will not be " "indicated as implementing the :class:`Hashable` ABC." msgstr "" "Las clases que heredan un método :meth:`__hash__` de una clase padre pueden " "establecer ``__hash__ = None`` para indicar que la clase no es hashable. " "Esto hará que ``hash(obj)`` lance un :exc:`TypeError` y la clase no será " "indicada como implementando el ABC de :class:`Hashable`." #: ../Doc/whatsnew/2.6.rst:1636 msgid "" "You should do this when you've defined a :meth:`__cmp__` or :meth:`__eq__` " "method that compares objects by their value rather than by identity. All " "objects have a default hash method that uses ``id(obj)`` as the hash value. " "There's no tidy way to remove the :meth:`__hash__` method inherited from a " "parent class, so assigning ``None`` was implemented as an override. At the " "C level, extensions can set ``tp_hash`` to :c:func:" "`PyObject_HashNotImplemented`. (Fixed by Nick Coghlan and Amaury Forgeot " "d'Arc; :issue:`2235`.)" msgstr "" "Debes hacer esto cuando hayas definido un método :meth:`__cmp__` o :meth:" "`__eq__` que compare objetos por su valor en lugar de por su identidad. " "Todos los objetos tienen un método hash por defecto que utiliza ``id(obj)`` " "como valor hash. No hay una forma ordenada de eliminar el método :meth:" "`__hash__` heredado de una clase padre, por lo que la asignación de ``None`` " "fue implementada como una sobreescritura. A nivel de C, las extensiones " "pueden establecer ``tp_hash`` a :c:func:`PyObject_HashNotImplemented`. " "(Corregido por Nick Coghlan y Amaury Forgeot d'Arc; :issue:`2235`.)" #: ../Doc/whatsnew/2.6.rst:1646 msgid "" "The :exc:`GeneratorExit` exception now subclasses :exc:`BaseException` " "instead of :exc:`Exception`. This means that an exception handler that does " "``except Exception:`` will not inadvertently catch :exc:`GeneratorExit`. " "(Contributed by Chad Austin; :issue:`1537`.)" msgstr "" "La excepción :exc:`GeneratorExit` ahora subclasa :exc:`BaseException` en " "lugar de :exc:`Exception`. Esto significa que un manejador de excepciones " "que haga ``except Exception:`` no atrapará inadvertidamente :exc:" "`GeneratorExit`. (Contribuido por Chad Austin; :issue:`1537`.)" #: ../Doc/whatsnew/2.6.rst:1652 msgid "" "Generator objects now have a :attr:`gi_code` attribute that refers to the " "original code object backing the generator. (Contributed by Collin Winter; :" "issue:`1473257`.)" msgstr "" "Los objetos generadores tienen ahora un atributo :attr:`gi_code` que hace " "referencia al objeto de código original que respalda al generador. " "(Contribución de Collin Winter; :issue:`1473257`.)" #: ../Doc/whatsnew/2.6.rst:1656 msgid "" "The :func:`compile` built-in function now accepts keyword arguments as well " "as positional parameters. (Contributed by Thomas Wouters; :issue:`1444529`.)" msgstr "" "La función incorporada :func:`compile` ahora acepta argumentos de palabras " "clave así como parámetros posicionales. (Contribución de Thomas Wouters; :" "issue:`1444529`.)" #: ../Doc/whatsnew/2.6.rst:1660 msgid "" "The :func:`complex` constructor now accepts strings containing parenthesized " "complex numbers, meaning that ``complex(repr(cplx))`` will now round-trip " "values. For example, ``complex('(3+4j)')`` now returns the value (3+4j). (:" "issue:`1491866`)" msgstr "" "El constructor :func:`complex` ahora acepta cadenas que contengan números " "complejos entre paréntesis, lo que significa que ``complex(repr(cplx))`` " "ahora redondeará los valores. Por ejemplo, ``complex('(3+4j)')`` ahora " "devuelve el valor (3+4j). (:issue:`1491866`)" #: ../Doc/whatsnew/2.6.rst:1665 msgid "" "The string :meth:`translate` method now accepts ``None`` as the translation " "table parameter, which is treated as the identity transformation. This " "makes it easier to carry out operations that only delete characters. " "(Contributed by Bengt Richter and implemented by Raymond Hettinger; :issue:" "`1193128`.)" msgstr "" "El método string :meth:`translate` acepta ahora ``None`` como parámetro de " "la tabla de traducción, que se trata como la transformación de identidad. " "Esto facilita la realización de operaciones que sólo eliminan caracteres. " "(Contribuido por Bengt Richter e implementado por Raymond Hettinger; :issue:" "`1193128`)" #: ../Doc/whatsnew/2.6.rst:1671 msgid "" "The built-in :func:`dir` function now checks for a :meth:`__dir__` method on " "the objects it receives. This method must return a list of strings " "containing the names of valid attributes for the object, and lets the object " "control the value that :func:`dir` produces. Objects that have :meth:" "`__getattr__` or :meth:`__getattribute__` methods can use this to advertise " "pseudo-attributes they will honor. (:issue:`1591665`)" msgstr "" "La función incorporada :func:`dir` ahora comprueba si existe un método :meth:" "`__dir__` en los objetos que recibe. Este método debe devolver una lista de " "cadenas que contengan los nombres de los atributos válidos para el objeto, y " "permite al objeto controlar el valor que :func:`dir` produce. Los objetos " "que tienen métodos :meth:`__getattr__` o :meth:`__getattribute__` pueden " "usar esto para anunciar los pseudo-atributos que respetarán. (:issue:" "`1591665`)" #: ../Doc/whatsnew/2.6.rst:1679 msgid "" "Instance method objects have new attributes for the object and function " "comprising the method; the new synonym for :attr:`im_self` is :attr:" "`__self__`, and :attr:`im_func` is also available as :attr:`__func__`. The " "old names are still supported in Python 2.6, but are gone in 3.0." msgstr "" "Los objetos de método de instancia tienen nuevos atributos para el objeto y " "la función que comprende el método; el nuevo sinónimo de :attr:`im_self` es :" "attr:`__self__`, y :attr:`im_func` también está disponible como :attr:" "`__func__`. Los nombres antiguos todavía se soportan en Python 2.6, pero han " "desaparecido en la 3.0." #: ../Doc/whatsnew/2.6.rst:1684 msgid "" "An obscure change: when you use the :func:`locals` function inside a :" "keyword:`class` statement, the resulting dictionary no longer returns free " "variables. (Free variables, in this case, are variables referenced in the :" "keyword:`!class` statement that aren't attributes of the class.)" msgstr "" "Un cambio oscuro: cuando se utiliza la función :func:`locals` dentro de una " "sentencia :keyword:`class`, el diccionario resultante ya no devuelve " "variables libres. (Las variables libres, en este caso, son variables " "referenciadas en la sentencia :keyword:`!class` que no son atributos de la " "clase)" #: ../Doc/whatsnew/2.6.rst:1693 msgid "Optimizations" msgstr "Optimizaciones" #: ../Doc/whatsnew/2.6.rst:1695 msgid "" "The :mod:`warnings` module has been rewritten in C. This makes it possible " "to invoke warnings from the parser, and may also make the interpreter's " "startup faster. (Contributed by Neal Norwitz and Brett Cannon; :issue:" "`1631171`.)" msgstr "" "El módulo :mod:`warnings` ha sido reescrito en C. Esto hace posible invocar " "advertencias desde el analizador sintáctico, y también puede hacer que el " "arranque del intérprete sea más rápido. (Contribuido por Neal Norwitz y " "Brett Cannon; :issue:`1631171`.)" #: ../Doc/whatsnew/2.6.rst:1700 msgid "" "Type objects now have a cache of methods that can reduce the work required " "to find the correct method implementation for a particular class; once " "cached, the interpreter doesn't need to traverse base classes to figure out " "the right method to call. The cache is cleared if a base class or the class " "itself is modified, so the cache should remain correct even in the face of " "Python's dynamic nature. (Original optimization implemented by Armin Rigo, " "updated for Python 2.6 by Kevin Jacobs; :issue:`1700288`.)" msgstr "" "Los objetos de tipo tienen ahora una caché de métodos que puede reducir el " "trabajo necesario para encontrar la implementación del método correcto para " "una clase en particular; una vez almacenada en la caché, el intérprete no " "necesita recorrer las clases base para averiguar el método correcto a " "llamar. La caché se borra si una clase base o la propia clase se modifica, " "por lo que la caché debería seguir siendo correcta incluso ante la " "naturaleza dinámica de Python. (Optimización original implementada por Armin " "Rigo, actualizada para Python 2.6 por Kevin Jacobs; :issue:`1700288`.)" #: ../Doc/whatsnew/2.6.rst:1710 msgid "" "By default, this change is only applied to types that are included with the " "Python core. Extension modules may not necessarily be compatible with this " "cache, so they must explicitly add :c:macro:`Py_TPFLAGS_HAVE_VERSION_TAG` to " "the module's ``tp_flags`` field to enable the method cache. (To be " "compatible with the method cache, the extension module's code must not " "directly access and modify the ``tp_dict`` member of any of the types it " "implements. Most modules don't do this, but it's impossible for the Python " "interpreter to determine that. See :issue:`1878` for some discussion.)" msgstr "" "Por defecto, este cambio sólo se aplica a los tipos que se incluyen con el " "núcleo de Python. Los módulos de extensión no son necesariamente " "compatibles con esta caché, por lo que deben añadir explícitamente :c:macro:" "`Py_TPFLAGS_HAVE_VERSION_TAG` al campo ``tp_flags`` del módulo para " "habilitar la caché de métodos. (Para ser compatible con la caché de métodos, " "el código del módulo de extensión no debe acceder directamente ni modificar " "el miembro ``tp_dict`` de ninguno de los tipos que implementa. La mayoría " "de los módulos no lo hacen, pero es imposible que el intérprete de Python lo " "determine. Ver :issue:`1878` para una discusión)" #: ../Doc/whatsnew/2.6.rst:1721 msgid "" "Function calls that use keyword arguments are significantly faster by doing " "a quick pointer comparison, usually saving the time of a full string " "comparison. (Contributed by Raymond Hettinger, after an initial " "implementation by Antoine Pitrou; :issue:`1819`.)" msgstr "" "Las llamadas a funciones que utilizan argumentos de palabras clave son " "significativamente más rápidas al hacer una comparación rápida de punteros, " "lo que suele ahorrar el tiempo de una comparación completa de cadenas. " "(Contribución de Raymond Hettinger, tras una implementación inicial de " "Antoine Pitrou; :issue:`1819`)" #: ../Doc/whatsnew/2.6.rst:1726 msgid "" "All of the functions in the :mod:`struct` module have been rewritten in C, " "thanks to work at the Need For Speed sprint. (Contributed by Raymond " "Hettinger.)" msgstr "" "Todas las funciones del módulo :mod:`struct` han sido reescritas en C, " "gracias al trabajo en el sprint de Need For Speed. (Contribución de Raymond " "Hettinger)" #: ../Doc/whatsnew/2.6.rst:1730 msgid "" "Some of the standard built-in types now set a bit in their type objects. " "This speeds up checking whether an object is a subclass of one of these " "types. (Contributed by Neal Norwitz.)" msgstr "" "Algunos de los tipos estándar incorporados ahora establecen un bit en sus " "objetos de tipo. Esto acelera la comprobación de si un objeto es una " "subclase de uno de estos tipos. (Contribución de Neal Norwitz)" #: ../Doc/whatsnew/2.6.rst:1734 msgid "" "Unicode strings now use faster code for detecting whitespace and line " "breaks; this speeds up the :meth:`split` method by about 25% and :meth:" "`splitlines` by 35%. (Contributed by Antoine Pitrou.) Memory usage is " "reduced by using pymalloc for the Unicode string's data." msgstr "" "Las cadenas Unicode utilizan ahora un código más rápido para detectar los " "espacios en blanco y los saltos de línea; esto acelera el método :meth:" "`split` en un 25% a y :meth:`splitlines` en un 35%. (Contribuido por Antoine " "Pitrou.) El uso de la memoria se reduce utilizando pymalloc para los datos " "de la cadena Unicode." #: ../Doc/whatsnew/2.6.rst:1740 msgid "" "The ``with`` statement now stores the :meth:`__exit__` method on the stack, " "producing a small speedup. (Implemented by Jeffrey Yasskin.)" msgstr "" "La sentencia ``with`` ahora almacena el método :meth:`__exit__` en la pila, " "produciendo un pequeño aumento de velocidad. (Implementado por Jeffrey " "Yasskin)" #: ../Doc/whatsnew/2.6.rst:1743 msgid "" "To reduce memory usage, the garbage collector will now clear internal free " "lists when garbage-collecting the highest generation of objects. This may " "return memory to the operating system sooner." msgstr "" "Para reducir el uso de memoria, el recolector de basura ahora borrará las " "listas libres internas cuando recolecte la generación más alta de objetos. " "Esto puede devolver la memoria al sistema operativo antes." #: ../Doc/whatsnew/2.6.rst:1752 msgid "Interpreter Changes" msgstr "Cambios de intérprete" #: ../Doc/whatsnew/2.6.rst:1754 msgid "" "Two command-line options have been reserved for use by other Python " "implementations. The :option:`-J` switch has been reserved for use by " "Jython for Jython-specific options, such as switches that are passed to the " "underlying JVM. :option:`-X` has been reserved for options specific to a " "particular implementation of Python such as CPython, Jython, or IronPython. " "If either option is used with Python 2.6, the interpreter will report that " "the option isn't currently used." msgstr "" "Se han reservado dos opciones de la línea de comandos para su uso por otras " "implementaciones de Python. La opción :option:`-J` se ha reservado para su " "uso por parte de Jython para las opciones específicas de Jython, como los " "interruptores que se pasan a la JVM subyacente. :option:`-X` se ha reservado " "para las opciones específicas de una implementación particular de Python " "como CPython, Jython o IronPython. Si cualquiera de estas opciones se " "utiliza con Python 2.6, el intérprete informará de que la opción no se " "utiliza actualmente." #: ../Doc/whatsnew/2.6.rst:1762 msgid "" "Python can now be prevented from writing :file:`.pyc` or :file:`.pyo` files " "by supplying the :option:`-B` switch to the Python interpreter, or by " "setting the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable before " "running the interpreter. This setting is available to Python programs as " "the ``sys.dont_write_bytecode`` variable, and Python code can change the " "value to modify the interpreter's behaviour. (Contributed by Neal Norwitz " "and Georg Brandl.)" msgstr "" "Ahora se puede evitar que Python escriba archivos :file:`.pyc` o :file:`." "pyo` proporcionando el modificador :option:`-B` al intérprete de Python, o " "estableciendo la variable de entorno :envvar:`PYTHONDONTWRITEBYTECODE` antes " "de ejecutar el intérprete. Esta configuración está disponible para los " "programas de Python como la variable ``sys.dont_write_bytecode``, y el " "código de Python puede cambiar el valor para modificar el comportamiento del " "intérprete. (Contribución de Neal Norwitz y Georg Brandl)" #: ../Doc/whatsnew/2.6.rst:1770 msgid "" "The encoding used for standard input, output, and standard error can be " "specified by setting the :envvar:`PYTHONIOENCODING` environment variable " "before running the interpreter. The value should be a string in the form " "```` or ``:``. The *encoding* part " "specifies the encoding's name, e.g. ``utf-8`` or ``latin-1``; the optional " "*errorhandler* part specifies what to do with characters that can't be " "handled by the encoding, and should be one of \"error\", \"ignore\", or " "\"replace\". (Contributed by Martin von Löwis.)" msgstr "" "La codificación utilizada para la entrada, la salida y el error estándar " "puede especificarse estableciendo la variable de entorno :envvar:" "`PYTHONIOENCODING` antes de ejecutar el intérprete. El valor debe ser una " "cadena de la forma ```` o ``:``. La parte " "*encoding* especifica el nombre de la codificación, por ejemplo ``utf-8`` o " "``latin-1``; la parte opcional *errorhandler* especifica qué hacer con los " "caracteres que no pueden ser manejados por la codificación, y debe ser una " "de las opciones \"error\", \"ignorar\" o \"reemplazar\". (Contribución de " "Martin von Löwis)" #: ../Doc/whatsnew/2.6.rst:1783 msgid "New and Improved Modules" msgstr "Módulos nuevos y mejorados" #: ../Doc/whatsnew/2.6.rst:1785 msgid "" "As in every release, Python's standard library received a number of " "enhancements and bug fixes. Here's a partial list of the most notable " "changes, sorted alphabetically by module name. Consult the :file:`Misc/NEWS` " "file in the source tree for a more complete list of changes, or look through " "the Subversion logs for all the details." msgstr "" "Como en cada versión, la biblioteca estándar de Python ha recibido una serie " "de mejoras y correcciones de errores. Aquí hay una lista parcial de los " "cambios más notables, ordenados alfabéticamente por nombre de módulo. " "Consulta el archivo :file:`Misc/NEWS` en el árbol de fuentes para una lista " "más completa de cambios, o mira los registros de Subversion para todos los " "detalles." #: ../Doc/whatsnew/2.6.rst:1791 msgid "" "The :mod:`asyncore` and :mod:`asynchat` modules are being actively " "maintained again, and a number of patches and bugfixes were applied. " "(Maintained by Josiah Carlson; see :issue:`1736190` for one patch.)" msgstr "" "Los módulos :mod:`asyncore` y :mod:`asynchat` están siendo mantenidos " "activamente de nuevo, y se han aplicado varios parches y correcciones de " "errores. (Mantenido por Josiah Carlson; véase :issue:`1736190` para un " "parche)" #: ../Doc/whatsnew/2.6.rst:1796 msgid "" "The :mod:`bsddb` module also has a new maintainer, Jesús Cea Avión, and the " "package is now available as a standalone package. The web page for the " "package is `www.jcea.es/programacion/pybsddb.htm `__. The plan is to remove the package from the " "standard library in Python 3.0, because its pace of releases is much more " "frequent than Python's." msgstr "" "El módulo :mod:`bsddb` también tiene un nuevo mantenedor, Jesús Cea Avión, y " "el paquete está ahora disponible como paquete independiente. La página web " "del paquete es `www.jcea.es/programacion/pybsddb.htm `__. El plan es eliminar el paquete de la " "biblioteca estándar en Python 3.0, porque su ritmo de lanzamientos es mucho " "más frecuente que el de Python." #: ../Doc/whatsnew/2.6.rst:1804 msgid "" "The :mod:`bsddb.dbshelve` module now uses the highest pickling protocol " "available, instead of restricting itself to protocol 1. (Contributed by W. " "Barnes.)" msgstr "" "El módulo :mod:`bsddb.dbshelve` utiliza ahora el protocolo de decapado más " "alto disponible, en lugar de limitarse al protocolo 1. (Contribución de W. " "Barnes.)" #: ../Doc/whatsnew/2.6.rst:1808 msgid "" "The :mod:`cgi` module will now read variables from the query string of an " "HTTP POST request. This makes it possible to use form actions with URLs " "that include query strings such as \"/cgi-bin/add.py?category=1\". " "(Contributed by Alexandre Fiori and Nubis; :issue:`1817`.)" msgstr "" "El módulo :mod:`cgi` leerá ahora las variables de la cadena de consulta de " "una petición HTTP POST. Esto permite utilizar acciones de formulario con " "URLs que incluyen cadenas de consulta como \"/cgi-bin/add.py?category=1\". " "(Contribución de Alexandre Fiori y Nubis; :issue:`1817`.)" #: ../Doc/whatsnew/2.6.rst:1814 msgid "" "The :func:`parse_qs` and :func:`parse_qsl` functions have been relocated " "from the :mod:`cgi` module to the :mod:`urlparse` module. The versions still " "available in the :mod:`cgi` module will trigger :exc:" "`PendingDeprecationWarning` messages in 2.6 (:issue:`600362`)." msgstr "" "Las funciones :func:`parse_qs` y :func:`parse_qsl` han sido reubicadas del " "módulo :mod:`cgi` al módulo :mod:`urlparse`. Las versiones aún disponibles " "en el módulo :mod:`cgi` activarán los mensajes :exc:" "`PendingDeprecationWarning` en la versión 2.6 (:issue:`600362`)." #: ../Doc/whatsnew/2.6.rst:1820 msgid "" "The :mod:`cmath` module underwent extensive revision, contributed by Mark " "Dickinson and Christian Heimes. Five new functions were added:" msgstr "" "El módulo :mod:`cmath` ha sido objeto de una amplia revisión, a la que han " "contribuido Mark Dickinson y Christian Heimes. Se han añadido cinco nuevas " "funciones:" #: ../Doc/whatsnew/2.6.rst:1824 msgid "" ":func:`polar` converts a complex number to polar form, returning the modulus " "and argument of the complex number." msgstr "" ":func:`polar` convierte un número complejo en forma polar, devolviendo el " "módulo y el argumento del número complejo." #: ../Doc/whatsnew/2.6.rst:1827 msgid "" ":func:`rect` does the opposite, turning a modulus, argument pair back into " "the corresponding complex number." msgstr "" ":func:`rect` hace lo contrario, convirtiendo un par de módulos y argumentos " "en el correspondiente número complejo." #: ../Doc/whatsnew/2.6.rst:1830 msgid "" ":func:`phase` returns the argument (also called the angle) of a complex " "number." msgstr "" ":func:`phase` devuelve el argumento (también llamado ángulo) de un número " "complejo." #: ../Doc/whatsnew/2.6.rst:1833 msgid "" ":func:`isnan` returns True if either the real or imaginary part of its " "argument is a NaN." msgstr "" ":func:`isnan` devuelve True si la parte real o imaginaria de su argumento es " "un NaN." #: ../Doc/whatsnew/2.6.rst:1836 msgid "" ":func:`isinf` returns True if either the real or imaginary part of its " "argument is infinite." msgstr "" ":func:`isinf` devuelve True si la parte real o imaginaria de su argumento es " "infinita." #: ../Doc/whatsnew/2.6.rst:1839 msgid "" "The revisions also improved the numerical soundness of the :mod:`cmath` " "module. For all functions, the real and imaginary parts of the results are " "accurate to within a few units of least precision (ulps) whenever possible. " "See :issue:`1381` for the details. The branch cuts for :func:`asinh`, :func:" "`atanh`: and :func:`atan` have also been corrected." msgstr "" "Las revisiones también han mejorado la solidez numérica del módulo :mod:" "`cmath`. Para todas las funciones, las partes real e imaginaria de los " "resultados son exactas con unas pocas unidades de precisión mínima (ulps) " "siempre que sea posible. Véase :issue:`1381` para los detalles. También se " "han corregido los cortes de rama para :func:`asinh`, :func:`atanh`: y :func:" "`atan`." #: ../Doc/whatsnew/2.6.rst:1846 msgid "" "The tests for the module have been greatly expanded; nearly 2000 new test " "cases exercise the algebraic functions." msgstr "" "Las pruebas del módulo se han ampliado considerablemente; casi 2000 nuevos " "casos de prueba ejercitan las funciones algebraicas." #: ../Doc/whatsnew/2.6.rst:1849 msgid "" "On IEEE 754 platforms, the :mod:`cmath` module now handles IEEE 754 special " "values and floating-point exceptions in a manner consistent with Annex 'G' " "of the C99 standard." msgstr "" "En las plataformas IEEE 754, el módulo :mod:`cmath` maneja ahora los valores " "especiales IEEE 754 y las excepciones de punto flotante de forma consistente " "con el Anexo 'G' del estándar C99." #: ../Doc/whatsnew/2.6.rst:1853 msgid "" "A new data type in the :mod:`collections` module: ``namedtuple(typename, " "fieldnames)`` is a factory function that creates subclasses of the standard " "tuple whose fields are accessible by name as well as index. For example::" msgstr "" "Un nuevo tipo de datos en el módulo :mod:`collections`: " "``namedtuple(typename, fieldnames)`` es una función de fábrica que crea " "subclases de la tupla estándar cuyos campos son accesibles tanto por nombre " "como por índice. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:1875 msgid "" "Several places in the standard library that returned tuples have been " "modified to return :func:`namedtuple` instances. For example, the :meth:" "`Decimal.as_tuple` method now returns a named tuple with :attr:`sign`, :attr:" "`digits`, and :attr:`exponent` fields." msgstr "" "Varios lugares de la biblioteca estándar que devolvían tuplas han sido " "modificados para devolver instancias de :func:`namedtuple`. Por ejemplo, el " "método :meth:`Decimal.as_tuple` ahora devuelve una tupla con nombre con los " "campos :attr:`sign`, :attr:`digits` y :attr:`exponent`." #: ../Doc/whatsnew/2.6.rst:1882 msgid "" "Another change to the :mod:`collections` module is that the :class:`deque` " "type now supports an optional *maxlen* parameter; if supplied, the deque's " "size will be restricted to no more than *maxlen* items. Adding more items " "to a full deque causes old items to be discarded." msgstr "" "Otro cambio en el módulo :mod:`collections` es que el tipo :class:`deque` " "admite ahora un parámetro opcional *maxlen*; si se suministra, el tamaño del " "deque estará restringido a no más de *maxlen* elementos. Si se añaden más " "elementos a un deque lleno, se descartan los elementos antiguos." #: ../Doc/whatsnew/2.6.rst:1903 msgid "" "The :mod:`Cookie` module's :class:`Morsel` objects now support an :attr:" "`httponly` attribute. In some browsers. cookies with this attribute set " "cannot be accessed or manipulated by JavaScript code. (Contributed by Arvin " "Schnell; :issue:`1638033`.)" msgstr "" "Los objetos :mod:`Cookie` del módulo :class:`Morsel` soportan ahora un " "atributo :attr:`httponly`. En algunos navegadores, las cookies con este " "atributo no pueden ser accedidas o manipuladas por el código JavaScript. " "(Contribución de Arvin Schnell; :issue:`1638033`.)" #: ../Doc/whatsnew/2.6.rst:1908 msgid "" "A new window method in the :mod:`curses` module, :meth:`chgat`, changes the " "display attributes for a certain number of characters on a single line. " "(Contributed by Fabian Kreutz.)" msgstr "" "Un nuevo método de ventana en el módulo :mod:`curses`, :meth:`chgat`, cambia " "los atributos de visualización para un determinado número de caracteres en " "una sola línea. (Contribución de Fabian Kreutz)" #: ../Doc/whatsnew/2.6.rst:1918 msgid "" "The :class:`Textbox` class in the :mod:`curses.textpad` module now supports " "editing in insert mode as well as overwrite mode. Insert mode is enabled by " "supplying a true value for the *insert_mode* parameter when creating the :" "class:`Textbox` instance." msgstr "" "La clase :class:`Textbox` del módulo :mod:`curses.textpad` soporta ahora la " "edición en modo de inserción así como en modo de sobrescritura. El modo de " "inserción se activa proporcionando un valor verdadero para el parámetro " "*insert_mode* al crear la instancia de :class:`Textbox`." #: ../Doc/whatsnew/2.6.rst:1923 #, python-format msgid "" "The :mod:`datetime` module's :meth:`strftime` methods now support a ``%f`` " "format code that expands to the number of microseconds in the object, zero-" "padded on the left to six places. (Contributed by Skip Montanaro; :issue:" "`1158`.)" msgstr "" "Los métodos :meth:`strftime` del módulo :mod:`datetime` soportan ahora un " "código de formato ``%f`` que se expande al número de microsegundos en el " "objeto, rellenado de cero a la izquierda hasta seis lugares. (Contribución " "de Skip Montanaro; :issue:`1158`.)" #: ../Doc/whatsnew/2.6.rst:1928 msgid "" "The :mod:`decimal` module was updated to version 1.66 of `the General " "Decimal Specification `__. " "New features include some methods for some basic mathematical functions such " "as :meth:`exp` and :meth:`log10`::" msgstr "" "El módulo :mod:`decimal` se actualizó a la versión 1.66 de `the General " "Decimal Specification `__. " "Las nuevas características incluyen algunos métodos para algunas funciones " "matemáticas básicas como :meth:`exp` y :meth:`log10`:" #: ../Doc/whatsnew/2.6.rst:1940 msgid "" "The :meth:`as_tuple` method of :class:`Decimal` objects now returns a named " "tuple with :attr:`sign`, :attr:`digits`, and :attr:`exponent` fields." msgstr "" "El método :meth:`as_tuple` de los objetos :class:`Decimal` devuelve ahora " "una tupla con nombre con los campos :attr:`signo`, :attr:`dígitos` y :attr:" "`exponente`." #: ../Doc/whatsnew/2.6.rst:1943 msgid "" "(Implemented by Facundo Batista and Mark Dickinson. Named tuple support " "added by Raymond Hettinger.)" msgstr "" "(Implementado por Facundo Batista y Mark Dickinson. Soporte de tuplas con " "nombre añadido por Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:1946 msgid "" "The :mod:`difflib` module's :class:`SequenceMatcher` class now returns named " "tuples representing matches, with :attr:`a`, :attr:`b`, and :attr:`size` " "attributes. (Contributed by Raymond Hettinger.)" msgstr "" "La clase :mod:`difflib` del módulo :class:`SequenceMatcher` devuelve ahora " "tuplas con nombre que representan coincidencias, con atributos :attr:`a`, :" "attr:`b` y :attr:`size`. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:1951 msgid "" "An optional ``timeout`` parameter, specifying a timeout measured in seconds, " "was added to the :class:`ftplib.FTP` class constructor as well as the :meth:" "`connect` method. (Added by Facundo Batista.) Also, the :class:`FTP` " "class's :meth:`storbinary` and :meth:`storlines` now take an optional " "*callback* parameter that will be called with each block of data after the " "data has been sent. (Contributed by Phil Schwartz; :issue:`1221598`.)" msgstr "" "Se ha añadido un parámetro opcional ``timeout``, que especifica un tiempo de " "espera medido en segundos, al constructor de la clase :class:`ftplib.FTP` " "así como al método :meth:`connect`. (Añadido por Facundo Batista.) Además, " "los métodos :meth:`storbinary` y :meth:`storlines` de la clase :class:`FTP` " "ahora toman un parámetro opcional *callback* que será llamado con cada " "bloque de datos después de que los datos hayan sido enviados. (Contribuido " "por Phil Schwartz; :issue:`1221598`.)" #: ../Doc/whatsnew/2.6.rst:1959 msgid "" "The :func:`reduce` built-in function is also available in the :mod:" "`functools` module. In Python 3.0, the builtin has been dropped and :func:" "`reduce` is only available from :mod:`functools`; currently there are no " "plans to drop the builtin in the 2.x series. (Patched by Christian Heimes; :" "issue:`1739906`.)" msgstr "" "La función incorporada :func:`reduce` también está disponible en el módulo :" "mod:`functools`. En Python 3.0, la función incorporada se ha eliminado y :" "func:`reduce` sólo está disponible en :mod:`functools`; actualmente no hay " "planes para eliminar la función incorporada en la serie 2.x. (Parcheado por " "Christian Heimes; :issue:`1739906`.)" #: ../Doc/whatsnew/2.6.rst:1965 msgid "" "When possible, the :mod:`getpass` module will now use :file:`/dev/tty` to " "print a prompt message and read the password, falling back to standard error " "and standard input. If the password may be echoed to the terminal, a " "warning is printed before the prompt is displayed. (Contributed by Gregory " "P. Smith.)" msgstr "" "Cuando sea posible, el módulo :mod:`getpass` utilizará ahora :file:`/dev/" "tty` para imprimir un mensaje de aviso y leer la contraseña, retrocediendo " "al error estándar y a la entrada estándar. Si la contraseña puede ser " "enviada al terminal, se imprimirá una advertencia antes de que se muestre el " "aviso. (Contribución de Gregory P. Smith)" #: ../Doc/whatsnew/2.6.rst:1971 msgid "" "The :func:`glob.glob` function can now return Unicode filenames if a Unicode " "path was used and Unicode filenames are matched within the directory. (:" "issue:`1001604`)" msgstr "" "La función :func:`glob.glob` ahora puede devolver nombres de archivo Unicode " "si se ha utilizado una ruta Unicode y se han encontrado nombres de archivo " "Unicode dentro del directorio. (:issue:`1001604`)" #: ../Doc/whatsnew/2.6.rst:1975 msgid "" "A new function in the :mod:`heapq` module, ``merge(iter1, iter2, ...)``, " "takes any number of iterables returning data in sorted order, and returns a " "new generator that returns the contents of all the iterators, also in sorted " "order. For example::" msgstr "" "Una nueva función en el módulo :mod:`heapq`, ``merge(iter1, iter2, ...)``, " "toma cualquier número de iterables que devuelven datos en orden ordenado, y " "devuelve un nuevo generador que devuelve el contenido de todos los " "iteradores, también en ordenado. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:1983 msgid "" "Another new function, ``heappushpop(heap, item)``, pushes *item* onto " "*heap*, then pops off and returns the smallest item. This is more efficient " "than making a call to :func:`heappush` and then :func:`heappop`." msgstr "" "Otra nueva función, ``heappushpop(heap, item)``, empuja *item* a *heap*, " "luego lo saca y devuelve el elemento más pequeño. Esto es más eficiente que " "hacer una llamada a :func:`heappush` y luego a :func:`heappop`." #: ../Doc/whatsnew/2.6.rst:1988 msgid "" ":mod:`heapq` is now implemented to only use less-than comparison, instead of " "the less-than-or-equal comparison it previously used. This makes :mod:" "`heapq`'s usage of a type match the :meth:`list.sort` method. (Contributed " "by Raymond Hettinger.)" msgstr "" ":mod:`heapq` se ha implementado para utilizar únicamente la comparación " "menor que, en lugar de la comparación menor o igual que utilizaba " "anteriormente. Esto hace que el uso de :mod:`heapq` de un tipo coincida con " "el método :meth:`list.sort`. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:1994 msgid "" "An optional ``timeout`` parameter, specifying a timeout measured in seconds, " "was added to the :class:`httplib.HTTPConnection` and :class:" "`HTTPSConnection` class constructors. (Added by Facundo Batista.)" msgstr "" "Se ha añadido un parámetro opcional ``timeout``, que especifica un tiempo de " "espera medido en segundos, a los constructores de las clases :class:`httplib." "HTTPConnection` y :class:`HTTPSConnection`. (Añadido por Facundo Batista)" #: ../Doc/whatsnew/2.6.rst:1999 msgid "" "Most of the :mod:`inspect` module's functions, such as :func:`getmoduleinfo` " "and :func:`getargs`, now return named tuples. In addition to behaving like " "tuples, the elements of the return value can also be accessed as " "attributes. (Contributed by Raymond Hettinger.)" msgstr "" "La mayoría de las funciones del módulo :mod:`inspect`, como :func:" "`getmoduleinfo` y :func:`getargs`, ahora devuelven tuplas con nombre. Además " "de comportarse como tuplas, también se puede acceder a los elementos del " "valor devuelto como atributos. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:2005 msgid "" "Some new functions in the module include :func:`isgenerator`, :func:" "`isgeneratorfunction`, and :func:`isabstract`." msgstr "" "Algunas de las nuevas funciones del módulo son :func:`isgenerator`, :func:" "`isgeneratorfunction` y :func:`isabstract`." #: ../Doc/whatsnew/2.6.rst:2009 msgid "The :mod:`itertools` module gained several new functions." msgstr "El módulo :mod:`itertools` ha ganado varias funciones nuevas." #: ../Doc/whatsnew/2.6.rst:2011 msgid "" "``izip_longest(iter1, iter2, ...[, fillvalue])`` makes tuples from each of " "the elements; if some of the iterables are shorter than others, the missing " "values are set to *fillvalue*. For example::" msgstr "" "``izip_longest(iter1, iter2, ...[, fillvalue])`` hace tuplas de cada uno de " "los elementos; si algunos de los iterables son más cortos que otros, los " "valores que faltan se ponen a *fillvalue*. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:2018 msgid "" "``product(iter1, iter2, ..., [repeat=N])`` returns the Cartesian product of " "the supplied iterables, a set of tuples containing every possible " "combination of the elements returned from each iterable. ::" msgstr "" "``product(iter1, iter2, ..., [repeat=N])`` devuelve el producto cartesiano " "de los iterables suministrados, un conjunto de tuplas que contiene todas las " "combinaciones posibles de los elementos devueltos de cada iterable. ::" #: ../Doc/whatsnew/2.6.rst:2027 msgid "" "The optional *repeat* keyword argument is used for taking the product of an " "iterable or a set of iterables with themselves, repeated *N* times. With a " "single iterable argument, *N*-tuples are returned::" msgstr "" "El argumento opcional de la palabra clave *repeat* se utiliza para tomar el " "producto de un iterable o un conjunto de iterables con ellos mismos, " "repetido *N* veces. Con un único argumento iterable, se devuelven *N*-" "tuplas::" #: ../Doc/whatsnew/2.6.rst:2036 msgid "With two iterables, *2N*-tuples are returned. ::" msgstr "Con dos iterables, se devuelven *2N*-tuplas. ::" #: ../Doc/whatsnew/2.6.rst:2044 msgid "" "``combinations(iterable, r)`` returns sub-sequences of length *r* from the " "elements of *iterable*. ::" msgstr "" "``combinaciones(iterable, r)`` devuelve subsecuencias de longitud *r* de los " "elementos de *iterable*. ::" #: ../Doc/whatsnew/2.6.rst:2055 msgid "" "``permutations(iter[, r])`` returns all the permutations of length *r* of " "the iterable's elements. If *r* is not specified, it will default to the " "number of elements produced by the iterable. ::" msgstr "" "``permutaciones(iter[, r])`` devuelve todas las permutaciones de longitud " "*r* de los elementos del iterable. Si no se especifica *r*, por defecto " "será el número de elementos producidos por el iterable. ::" #: ../Doc/whatsnew/2.6.rst:2065 msgid "" "``itertools.chain(*iterables)`` is an existing function in :mod:`itertools` " "that gained a new constructor in Python 2.6. ``itertools.chain." "from_iterable(iterable)`` takes a single iterable that should return other " "iterables. :func:`chain` will then return all the elements of the first " "iterable, then all the elements of the second, and so on. ::" msgstr "" "``itertools.chain(*iterables)`` es una función existente en :mod:`itertools` " "que obtuvo un nuevo constructor en Python 2.6. ``itertools.chain." "from_iterable(iterable)`` toma un único iterable que debe devolver otros " "iterables. :func:`chain` devolverá entonces todos los elementos del primer " "iterable, luego todos los elementos del segundo, y así sucesivamente. ::" #: ../Doc/whatsnew/2.6.rst:2075 msgid "(All contributed by Raymond Hettinger.)" msgstr "(Todo ello aportado por Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:2077 msgid "" "The :mod:`logging` module's :class:`FileHandler` class and its subclasses :" "class:`WatchedFileHandler`, :class:`RotatingFileHandler`, and :class:" "`TimedRotatingFileHandler` now have an optional *delay* parameter to their " "constructors. If *delay* is true, opening of the log file is deferred until " "the first :meth:`emit` call is made. (Contributed by Vinay Sajip.)" msgstr "" "La clase :mod:`logging` del módulo :class:`FileHandler` y sus subclases :" "class:`WatchedFileHandler`, :class:`RotatingFileHandler` y :class:" "`TimedRotatingFileHandler` tienen ahora un parámetro opcional *delay* en sus " "constructores. Si *retraso* es verdadero, la apertura del fichero de " "registro se retrasa hasta que se realice la primera llamada :meth:`emit`. " "(Contribuido por Vinay Sajip.)" #: ../Doc/whatsnew/2.6.rst:2084 msgid "" ":class:`TimedRotatingFileHandler` also has a *utc* constructor parameter. " "If the argument is true, UTC time will be used in determining when midnight " "occurs and in generating filenames; otherwise local time will be used." msgstr "" ":class:`TimedRotatingFileHandler` también tiene un parámetro constructor " "*utc*. Si el argumento es verdadero, se utilizará la hora UTC para " "determinar cuándo ocurre la medianoche y para generar los nombres de los " "archivos; en caso contrario, se utilizará la hora local." #: ../Doc/whatsnew/2.6.rst:2089 msgid "Several new functions were added to the :mod:`math` module:" msgstr "Se han añadido varias funciones nuevas al módulo :mod:`math`:" #: ../Doc/whatsnew/2.6.rst:2091 msgid "" ":func:`~math.isinf` and :func:`~math.isnan` determine whether a given float " "is a (positive or negative) infinity or a NaN (Not a Number), respectively." msgstr "" ":func:`~math.isinf` y :func:`~math.isnan` determinan si un flotador dado es " "un infinito (positivo o negativo) o un NaN (Not a Number), respectivamente." #: ../Doc/whatsnew/2.6.rst:2094 msgid "" ":func:`~math.copysign` copies the sign bit of an IEEE 754 number, returning " "the absolute value of *x* combined with the sign bit of *y*. For example, " "``math.copysign(1, -0.0)`` returns -1.0. (Contributed by Christian Heimes.)" msgstr "" ":func:`~math.copysign` copia el bit de signo de un número IEEE 754, " "devolviendo el valor absoluto de *x* combinado con el bit de signo de *y*. " "Por ejemplo, ``math.copysign(1, -0.0)`` devuelve -1.0. (Contribución de " "Christian Heimes)" #: ../Doc/whatsnew/2.6.rst:2099 msgid "" ":func:`~math.factorial` computes the factorial of a number. (Contributed by " "Raymond Hettinger; :issue:`2138`.)" msgstr "" ":func:`~math.factorial` calcula el factorial de un número. (Contribuido por " "Raymond Hettinger; :issue:`2138`.)" #: ../Doc/whatsnew/2.6.rst:2102 msgid "" ":func:`~math.fsum` adds up the stream of numbers from an iterable, and is " "careful to avoid loss of precision through using partial sums. (Contributed " "by Jean Brouwers, Raymond Hettinger, and Mark Dickinson; :issue:`2819`.)" msgstr "" ":func:`~math.fsum` suma el flujo de números de un iterable, y tiene cuidado " "de evitar la pérdida de precisión mediante el uso de sumas parciales. " "(Contribución de Jean Brouwers, Raymond Hettinger y Mark Dickinson; :issue:" "`2819`)" #: ../Doc/whatsnew/2.6.rst:2107 msgid "" ":func:`~math.acosh`, :func:`~math.asinh` and :func:`~math.atanh` compute the " "inverse hyperbolic functions." msgstr "" ":func:`~math.acosh`, :func:`~math.asinh` y :func:`~math.atanh` calculan las " "funciones hiperbólicas inversas." #: ../Doc/whatsnew/2.6.rst:2110 msgid ":func:`~math.log1p` returns the natural logarithm of *1+x* (base *e*)." msgstr ":func:`~math.log1p` devuelve el logaritmo natural de *1+x* (base *e*)." #: ../Doc/whatsnew/2.6.rst:2113 msgid "" ":func:`trunc` rounds a number toward zero, returning the closest :class:" "`Integral` that's between the function's argument and zero. Added as part of " "the backport of `PEP 3141's type hierarchy for numbers <#pep-3141>`__." msgstr "" ":func:`trunc` redondea un número hacia cero, devolviendo el :class:" "`Integral` más cercano que esté entre el argumento de la función y el cero. " "Añadido como parte del backport de la jerarquía de tipos de números de `PEP " "3141 <#pep-3141>`__." #: ../Doc/whatsnew/2.6.rst:2118 msgid "" "The :mod:`math` module has been improved to give more consistent behaviour " "across platforms, especially with respect to handling of floating-point " "exceptions and IEEE 754 special values." msgstr "" "El módulo :mod:`math` se ha mejorado para ofrecer un comportamiento más " "coherente en todas las plataformas, especialmente en lo que respecta al " "manejo de las excepciones de punto flotante y los valores especiales IEEE " "754." #: ../Doc/whatsnew/2.6.rst:2122 msgid "" "Whenever possible, the module follows the recommendations of the C99 " "standard about 754's special values. For example, ``sqrt(-1.)`` should now " "give a :exc:`ValueError` across almost all platforms, while " "``sqrt(float('NaN'))`` should return a NaN on all IEEE 754 platforms. Where " "Annex 'F' of the C99 standard recommends signaling 'divide-by-zero' or " "'invalid', Python will raise :exc:`ValueError`. Where Annex 'F' of the C99 " "standard recommends signaling 'overflow', Python will raise :exc:" "`OverflowError`. (See :issue:`711019` and :issue:`1640`.)" msgstr "" "Siempre que es posible, el módulo sigue las recomendaciones del estándar C99 " "sobre los valores especiales de 754. Por ejemplo, ``sqrt(-1.)`` debería dar " "ahora un :exc:`ValueError` en casi todas las plataformas, mientras que " "``sqrt(float('NaN'))`` debería devolver un NaN en todas las plataformas IEEE " "754. Cuando el Anexo 'F' del estándar C99 recomiende señalar 'dividir por " "cero' o 'inválido', Python lanzará :exc:`ValueError`. Cuando el Anexo 'F' " "del estándar C99 recomiende señalar 'desbordamiento', Python lanzará :exc:" "`OverflowError`. (Ver :issue:`711019` y :issue:`1640`)" #: ../Doc/whatsnew/2.6.rst:2132 msgid "(Contributed by Christian Heimes and Mark Dickinson.)" msgstr "(Contribución de Christian Heimes y Mark Dickinson)" #: ../Doc/whatsnew/2.6.rst:2134 msgid "" ":class:`~mmap.mmap` objects now have a :meth:`rfind` method that searches " "for a substring beginning at the end of the string and searching backwards. " "The :meth:`find` method also gained an *end* parameter giving an index at " "which to stop searching. (Contributed by John Lenton.)" msgstr "" "Los objetos :class:`~mmap.mmap` tienen ahora un método :meth:`rfind` que " "busca una subcadena empezando por el final de la cadena y buscando hacia " "atrás. El método :meth:`find` también ha ganado un parámetro *end* que da " "un índice en el que parar la búsqueda. (Contribución de John Lenton)" #: ../Doc/whatsnew/2.6.rst:2140 msgid "" "The :mod:`operator` module gained a :func:`methodcaller` function that takes " "a name and an optional set of arguments, returning a callable that will call " "the named function on any arguments passed to it. For example::" msgstr "" "El módulo :mod:`operator` ganó una función :func:`methodcaller` que toma un " "nombre y un conjunto opcional de argumentos, devolviendo un callable que " "llamará a la función nombrada en cualquier argumento que se le pase. Por " "ejemplo::" #: ../Doc/whatsnew/2.6.rst:2150 msgid "(Contributed by Georg Brandl, after a suggestion by Gregory Petrosyan.)" msgstr "" "(Contribución de Georg Brandl, tras una sugerencia de Gregory Petrosyan)" #: ../Doc/whatsnew/2.6.rst:2152 msgid "" "The :func:`attrgetter` function now accepts dotted names and performs the " "corresponding attribute lookups::" msgstr "" "La función :func:`attrgetter` acepta ahora nombres con puntos y realiza las " "correspondientes búsquedas de atributos::" #: ../Doc/whatsnew/2.6.rst:2162 msgid "(Contributed by Georg Brandl, after a suggestion by Barry Warsaw.)" msgstr "(Contribución de Georg Brandl, tras una sugerencia de Barry Warsaw)" #: ../Doc/whatsnew/2.6.rst:2164 msgid "" "The :mod:`os` module now wraps several new system calls. ``fchmod(fd, " "mode)`` and ``fchown(fd, uid, gid)`` change the mode and ownership of an " "opened file, and ``lchmod(path, mode)`` changes the mode of a symlink. " "(Contributed by Georg Brandl and Christian Heimes.)" msgstr "" "El módulo :mod:`os` incluye ahora varias llamadas nuevas al sistema. " "``fchmod(fd, mode)`` y ``fchown(fd, uid, gid)`` cambian el modo y la " "propiedad de un fichero abierto, y ``lchmod(path, mode)`` cambia el modo de " "un enlace simbólico. (Contribución de Georg Brandl y Christian Heimes)" #: ../Doc/whatsnew/2.6.rst:2170 msgid "" ":func:`chflags` and :func:`lchflags` are wrappers for the corresponding " "system calls (where they're available), changing the flags set on a file. " "Constants for the flag values are defined in the :mod:`stat` module; some " "possible values include :const:`UF_IMMUTABLE` to signal the file may not be " "changed and :const:`UF_APPEND` to indicate that data can only be appended to " "the file. (Contributed by M. Levinson.)" msgstr "" ":func:`chflags` y :func:`lchflags` son envoltorios para las correspondientes " "llamadas al sistema (cuando están disponibles), que cambian las banderas " "establecidas en un archivo. Las constantes para los valores de las banderas " "se definen en el módulo :mod:`stat`; algunos valores posibles son :const:" "`UF_IMMUTABLE` para indicar que el fichero no puede ser modificado y :const:" "`UF_APPEND` para indicar que sólo se pueden añadir datos al fichero. " "(Contribución de M. Levinson)" #: ../Doc/whatsnew/2.6.rst:2178 msgid "" "``os.closerange(low, high)`` efficiently closes all file descriptors from " "*low* to *high*, ignoring any errors and not including *high* itself. This " "function is now used by the :mod:`subprocess` module to make starting " "processes faster. (Contributed by Georg Brandl; :issue:`1663329`.)" msgstr "" "``os.closerange(low, high)`` cierra eficazmente todos los descriptores de " "fichero desde *low* hasta *high*, ignorando cualquier error y sin incluir a " "*high* mismo. Esta función es ahora utilizada por el módulo :mod:" "`subprocess` para hacer más rápido el arranque de procesos. (Contribuido " "por Georg Brandl; :issue:`1663329`.)" #: ../Doc/whatsnew/2.6.rst:2183 msgid "" "The ``os.environ`` object's :meth:`clear` method will now unset the " "environment variables using :func:`os.unsetenv` in addition to clearing the " "object's keys. (Contributed by Martin Horcicka; :issue:`1181`.)" msgstr "" "El método :meth:`clear` del objeto ``os.environ`` ahora desajustará las " "variables de entorno utilizando :func:`os.unsetenv` además de borrar las " "claves del objeto. (Contribuido por Martin Horcicka; :issue:`1181`.)" #: ../Doc/whatsnew/2.6.rst:2187 msgid "" "The :func:`os.walk` function now has a ``followlinks`` parameter. If set to " "True, it will follow symlinks pointing to directories and visit the " "directory's contents. For backward compatibility, the parameter's default " "value is false. Note that the function can fall into an infinite recursion " "if there's a symlink that points to a parent directory. (:issue:`1273829`)" msgstr "" "La función :func:`os.walk` tiene ahora un parámetro ``followlinks``. Si se " "establece como True, seguirá los enlaces simbólicos que apunten a " "directorios y visitará el contenido del directorio. Por compatibilidad con " "el pasado, el valor por defecto del parámetro es false. Tenga en cuenta que " "la función puede caer en una recursión infinita si hay un enlace simbólico " "que apunte a un directorio padre. (:issue:`1273829`)" #: ../Doc/whatsnew/2.6.rst:2194 msgid "" "In the :mod:`os.path` module, the :func:`splitext` function has been changed " "to not split on leading period characters. This produces better results when " "operating on Unix's dot-files. For example, ``os.path.splitext('.ipython')`` " "now returns ``('.ipython', '')`` instead of ``('', '.ipython')``. (:issue:" "`1115886`)" msgstr "" "En el módulo :mod:`os.path`, la función :func:`splitext` ha sido modificada " "para no dividir los caracteres de punto inicial. Esto produce mejores " "resultados cuando se opera con archivos de puntos de Unix. Por ejemplo, ``os." "path.splitext('.ipython')`` ahora devuelve ``('.ipython', '')`` en lugar de " "``('', '.ipython')``. (:issue:`1115886`)" #: ../Doc/whatsnew/2.6.rst:2201 msgid "" "A new function, ``os.path.relpath(path, start='.')``, returns a relative " "path from the ``start`` path, if it's supplied, or from the current working " "directory to the destination ``path``. (Contributed by Richard Barran; :" "issue:`1339796`.)" msgstr "" "Una nueva función, ``os.path.relpath(path, start='.')``, devuelve una ruta " "relativa desde la ruta ``start``, si se suministra, o desde el directorio de " "trabajo actual hasta el destino ``path``. (Contribución de Richard Barran; :" "issue:`1339796`.)" #: ../Doc/whatsnew/2.6.rst:2206 msgid "" "On Windows, :func:`os.path.expandvars` will now expand environment variables " "given in the form \"%var%\", and \"~user\" will be expanded into the user's " "home directory path. (Contributed by Josiah Carlson; :issue:`957650`.)" msgstr "" "En Windows, :func:`os.path.expandvars` ahora expandirá las variables de " "entorno dadas en la forma \"%var%\", y \"~user\" se expandirá en la ruta del " "directorio personal del usuario. (Contribución de Josiah Carlson; :issue:" "`957650`.)" #: ../Doc/whatsnew/2.6.rst:2211 msgid "" "The Python debugger provided by the :mod:`pdb` module gained a new command: " "\"run\" restarts the Python program being debugged and can optionally take " "new command-line arguments for the program. (Contributed by Rocky " "Bernstein; :issue:`1393667`.)" msgstr "" "El depurador de Python proporcionado por el módulo :mod:`pdb` ganó un nuevo " "comando: \"run\" reinicia el programa Python que se está depurando y puede " "tomar opcionalmente nuevos argumentos de línea de comandos para el programa. " "(Contribución de Rocky Bernstein; :issue:`1393667`.)" #: ../Doc/whatsnew/2.6.rst:2216 msgid "" "The :func:`pdb.post_mortem` function, used to begin debugging a traceback, " "will now use the traceback returned by :func:`sys.exc_info` if no traceback " "is supplied. (Contributed by Facundo Batista; :issue:`1106316`.)" msgstr "" "La función :func:`pdb.post_mortem`, utilizada para iniciar la depuración de " "un traceback, utilizará ahora el traceback devuelto por :func:`sys.exc_info` " "si no se suministra ningún traceback. (Contribuido por Facundo Batista; :" "issue:`1106316`.)" #: ../Doc/whatsnew/2.6.rst:2221 msgid "" "The :mod:`pickletools` module now has an :func:`optimize` function that " "takes a string containing a pickle and removes some unused opcodes, " "returning a shorter pickle that contains the same data structure. " "(Contributed by Raymond Hettinger.)" msgstr "" "El módulo :mod:`pickletools` tiene ahora una función :func:`optimize` que " "toma una cadena que contiene un pickle y elimina algunos opcodes no " "utilizados, devolviendo un pickle más corto que contiene la misma estructura " "de datos. (Contribución de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:2226 msgid "" "A :func:`get_data` function was added to the :mod:`pkgutil` module that " "returns the contents of resource files included with an installed Python " "package. For example::" msgstr "" "Se ha añadido una función :func:`get_data` al módulo :mod:`pkgutil` que " "devuelve el contenido de los archivos de recursos incluidos con un paquete " "Python instalado. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:2241 msgid "(Contributed by Paul Moore; :issue:`2439`.)" msgstr "(Contribución de Paul Moore; :issue:`2439`.)" #: ../Doc/whatsnew/2.6.rst:2243 msgid "" "The :mod:`pyexpat` module's :class:`Parser` objects now allow setting their :" "attr:`buffer_size` attribute to change the size of the buffer used to hold " "character data. (Contributed by Achim Gaedke; :issue:`1137`.)" msgstr "" "Los objetos :mod:`pyexpat` del módulo :class:`Parser` permiten ahora " "establecer su atributo :attr:`buffer_size` para cambiar el tamaño del buffer " "utilizado para mantener los datos de caracteres. (Contribución de Achim " "Gaedke; :issue:`1137`.)" #: ../Doc/whatsnew/2.6.rst:2248 msgid "" "The :mod:`Queue` module now provides queue variants that retrieve entries in " "different orders. The :class:`PriorityQueue` class stores queued items in a " "heap and retrieves them in priority order, and :class:`LifoQueue` retrieves " "the most recently added entries first, meaning that it behaves like a stack. " "(Contributed by Raymond Hettinger.)" msgstr "" "El módulo :mod:`Queue` proporciona ahora variantes de colas que recuperan " "las entradas en diferentes órdenes. La clase :class:`PriorityQueue` " "almacena los elementos en cola en un montón y los recupera en orden de " "prioridad, y :class:`LifoQueue` recupera primero las entradas añadidas más " "recientemente, lo que significa que se comporta como una pila. (Contribución " "de Raymond Hettinger)" #: ../Doc/whatsnew/2.6.rst:2255 msgid "" "The :mod:`random` module's :class:`Random` objects can now be pickled on a " "32-bit system and unpickled on a 64-bit system, and vice versa. " "Unfortunately, this change also means that Python 2.6's :class:`Random` " "objects can't be unpickled correctly on earlier versions of Python. " "(Contributed by Shawn Ligocki; :issue:`1727780`.)" msgstr "" "Los objetos :class:`Random` del módulo :mod:`random` ahora pueden ser " "decapados en un sistema de 32 bits y desempaquetados en un sistema de 64 " "bits, y viceversa. Desafortunadamente, este cambio también significa que " "los objetos :class:`Random` de Python 2.6 no pueden ser desempaquetados " "correctamente en versiones anteriores de Python. (Contribuido por Shawn " "Ligocki; :issue:`1727780`.)" #: ../Doc/whatsnew/2.6.rst:2262 msgid "" "The new ``triangular(low, high, mode)`` function returns random numbers " "following a triangular distribution. The returned values are between *low* " "and *high*, not including *high* itself, and with *mode* as the most " "frequently occurring value in the distribution. (Contributed by Wladmir van " "der Laan and Raymond Hettinger; :issue:`1681432`.)" msgstr "" "La nueva función ``triangular(low, high, mode)`` devuelve números aleatorios " "siguiendo una distribución triangular. Los valores devueltos están entre " "*bajos* y *altos*, sin incluir los propios *altos*, y con *modo* como valor " "más frecuente en la distribución. (Contribución de Wladmir van der Laan y " "Raymond Hettinger; :issue:`1681432`.)" #: ../Doc/whatsnew/2.6.rst:2269 msgid "" "Long regular expression searches carried out by the :mod:`re` module will " "check for signals being delivered, so time-consuming searches can now be " "interrupted. (Contributed by Josh Hoyt and Ralf Schmitt; :issue:`846388`.)" msgstr "" "Las búsquedas de expresiones regulares largas llevadas a cabo por el módulo :" "mod:`re` comprobarán la entrega de señales, por lo que ahora se pueden " "interrumpir las búsquedas que consumen mucho tiempo. (Contribución de Josh " "Hoyt y Ralf Schmitt; :issue:`846388`.)" #: ../Doc/whatsnew/2.6.rst:2274 msgid "" "The regular expression module is implemented by compiling bytecodes for a " "tiny regex-specific virtual machine. Untrusted code could create malicious " "strings of bytecode directly and cause crashes, so Python 2.6 includes a " "verifier for the regex bytecode. (Contributed by Guido van Rossum from work " "for Google App Engine; :issue:`3487`.)" msgstr "" "El módulo de expresiones regulares se implementa compilando bytecodes para " "una pequeña máquina virtual específica de regex. El código no fiable podría " "crear cadenas maliciosas de código de bytes directamente y causar caídas, " "por lo que Python 2.6 incluye un verificador para el código de bytes regex. " "(Contribuido por Guido van Rossum del trabajo para Google App Engine; :issue:" "`3487`.)" #: ../Doc/whatsnew/2.6.rst:2281 msgid "" "The :mod:`rlcompleter` module's :meth:`Completer.complete()` method will now " "ignore exceptions triggered while evaluating a name. (Fixed by Lorenz " "Quack; :issue:`2250`.)" msgstr "" "El método :meth:`Completer.complete()` del módulo :mod:`rlcompleter` ahora " "ignorará las excepciones que se produzcan al evaluar un nombre. (Corregido " "por Lorenz Quack; :issue:`2250`.)" #: ../Doc/whatsnew/2.6.rst:2285 msgid "" "The :mod:`sched` module's :class:`scheduler` instances now have a read-only :" "attr:`queue` attribute that returns the contents of the scheduler's queue, " "represented as a list of named tuples with the fields ``(time, priority, " "action, argument)``. (Contributed by Raymond Hettinger; :issue:`1861`.)" msgstr "" "Las instancias :mod:`sched` del módulo :class:`scheduler` tienen ahora un " "atributo :attr:`queue` de sólo lectura que devuelve el contenido de la cola " "del planificador, representado como una lista de tuplas con nombre con los " "campos ``(tiempo, prioridad, acción, argumento)``. (Contribución de Raymond " "Hettinger; :issue:`1861`.)" #: ../Doc/whatsnew/2.6.rst:2291 msgid "" "The :mod:`select` module now has wrapper functions for the Linux :c:func:`!" "epoll` and BSD :c:func:`!kqueue` system calls. :meth:`modify` method was " "added to the existing :class:`poll` objects; ``pollobj.modify(fd, " "eventmask)`` takes a file descriptor or file object and an event mask, " "modifying the recorded event mask for that file. (Contributed by Christian " "Heimes; :issue:`1657`.)" msgstr "" "El módulo :mod:`select` tiene ahora funciones de envoltura para las llamadas " "al sistema Linux :c:func:`!epoll` y BSD :c:func:`!kqueue`. Se ha añadido el " "método :meth:`modify` a los objetos :class:`poll` existentes; ``pollobj." "modify(fd, eventmask)`` toma un descriptor de fichero o un objeto de fichero " "y una máscara de evento, modificando la máscara de evento registrada para " "ese fichero. (Contribución de Christian Heimes; :issue:`1657`.)" #: ../Doc/whatsnew/2.6.rst:2299 msgid "" "The :func:`shutil.copytree` function now has an optional *ignore* argument " "that takes a callable object. This callable will receive each directory " "path and a list of the directory's contents, and returns a list of names " "that will be ignored, not copied." msgstr "" "La función :func:`shutil.copytree` tiene ahora un argumento opcional " "*ignore* que toma un objeto callable. Esta llamada recibirá cada ruta de " "directorio y una lista del contenido del directorio, y devuelve una lista de " "nombres que serán ignorados, no copiados." #: ../Doc/whatsnew/2.6.rst:2304 msgid "" "The :mod:`shutil` module also provides an :func:`ignore_patterns` function " "for use with this new parameter. :func:`ignore_patterns` takes an arbitrary " "number of glob-style patterns and returns a callable that will ignore any " "files and directories that match any of these patterns. The following " "example copies a directory tree, but skips both :file:`.svn` directories and " "Emacs backup files, which have names ending with '~'::" msgstr "" "El módulo :mod:`shutil` también proporciona una función :func:" "`ignore_patterns` para su uso con este nuevo parámetro. :func:" "`ignore_patterns` toma un número arbitrario de patrones de estilo glob y " "devuelve una llamada que ignorará cualquier archivo o directorio que " "coincida con cualquiera de estos patrones. El siguiente ejemplo copia un " "árbol de directorios, pero omite los directorios :file:`.svn` y los ficheros " "de copia de seguridad de Emacs, que tienen nombres que terminan en '~'::" #: ../Doc/whatsnew/2.6.rst:2315 msgid "(Contributed by Tarek Ziadé; :issue:`2663`.)" msgstr "(Contribución de Tarek Ziadé; :issue:`2663`.)" #: ../Doc/whatsnew/2.6.rst:2317 msgid "" "Integrating signal handling with GUI handling event loops like those used by " "Tkinter or GTk+ has long been a problem; most software ends up polling, " "waking up every fraction of a second to check if any GUI events have " "occurred. The :mod:`signal` module can now make this more efficient. Calling " "``signal.set_wakeup_fd(fd)`` sets a file descriptor to be used; when a " "signal is received, a byte is written to that file descriptor. There's also " "a C-level function, :c:func:`PySignal_SetWakeupFd`, for setting the " "descriptor." msgstr "" "Integrar el manejo de señales con los bucles de eventos de manejo de la " "interfaz gráfica de usuario (GUI), como los utilizados por Tkinter o GTk+, " "ha sido durante mucho tiempo un problema; la mayoría del software acaba " "sondeando, despertando cada fracción de segundo para comprobar si se ha " "producido algún evento de la GUI. El módulo :mod:`signal` puede ahora hacer " "esto más eficiente. Llamando a ``signal.set_wakeup_fd(fd)`` se establece un " "descriptor de fichero a utilizar; cuando se recibe una señal, se escribe un " "byte en ese descriptor de fichero. También hay una función en C, :c:func:" "`PySignal_SetWakeupFd`, para establecer el descriptor." #: ../Doc/whatsnew/2.6.rst:2327 msgid "" "Event loops will use this by opening a pipe to create two descriptors, one " "for reading and one for writing. The writable descriptor will be passed to :" "func:`set_wakeup_fd`, and the readable descriptor will be added to the list " "of descriptors monitored by the event loop via :c:func:`!select` or :c:func:" "`!poll`. On receiving a signal, a byte will be written and the main event " "loop will be woken up, avoiding the need to poll." msgstr "" "Los bucles de eventos utilizarán esto abriendo una tubería para crear dos " "descriptores, uno de lectura y otro de escritura. El descriptor de " "escritura se pasará a :func:`set_wakeup_fd`, y el descriptor de lectura se " "añadirá a la lista de descriptores monitorizados por el bucle de eventos " "mediante :c:func:`!select` o :c:func:`!poll`. Al recibir una señal, se " "escribirá un byte y se despertará el bucle de eventos principal, evitando la " "necesidad de hacer un sondeo." #: ../Doc/whatsnew/2.6.rst:2335 msgid "(Contributed by Adam Olsen; :issue:`1583`.)" msgstr "(Contribución de Adam Olsen; :issue:`1583`.)" #: ../Doc/whatsnew/2.6.rst:2337 msgid "" "The :func:`siginterrupt` function is now available from Python code, and " "allows changing whether signals can interrupt system calls or not. " "(Contributed by Ralf Schmitt.)" msgstr "" "La función :func:`siginterrupt` está ahora disponible desde el código " "Python, y permite cambiar si las señales pueden interrumpir las llamadas al " "sistema o no. (Contribución de Ralf Schmitt)" #: ../Doc/whatsnew/2.6.rst:2341 msgid "" "The :func:`setitimer` and :func:`getitimer` functions have also been added " "(where they're available). :func:`setitimer` allows setting interval timers " "that will cause a signal to be delivered to the process after a specified " "time, measured in wall-clock time, consumed process time, or combined " "process+system time. (Contributed by Guilherme Polo; :issue:`2240`.)" msgstr "" "También se han añadido las funciones :func:`setitimer` y :func:`getitimer` " "(cuando están disponibles). :func:`setitimer` permite establecer " "temporizadores de intervalo que harán que se entregue una señal al proceso " "después de un tiempo especificado, medido en tiempo de reloj de pared, " "tiempo de proceso consumido, o tiempo combinado de proceso+sistema. " "(Contribuido por Guilherme Polo; :issue:`2240`.)" #: ../Doc/whatsnew/2.6.rst:2348 msgid "" "The :mod:`smtplib` module now supports SMTP over SSL thanks to the addition " "of the :class:`SMTP_SSL` class. This class supports an interface identical " "to the existing :class:`SMTP` class. (Contributed by Monty Taylor.) Both " "class constructors also have an optional ``timeout`` parameter that " "specifies a timeout for the initial connection attempt, measured in " "seconds. (Contributed by Facundo Batista.)" msgstr "" "El módulo :mod:`smtplib` ahora soporta SMTP sobre SSL gracias a la adición " "de la clase :class:`SMTP_SSL`. Esta clase soporta una interfaz idéntica a la " "clase :class:`SMTP` existente. (Contribuido por Monty Taylor.) Ambos " "constructores de la clase también tienen un parámetro opcional ``timeout`` " "que especifica un tiempo de espera para el intento de conexión inicial, " "medido en segundos. (Contribuido por Facundo Batista.)" #: ../Doc/whatsnew/2.6.rst:2356 msgid "" "An implementation of the LMTP protocol (:rfc:`2033`) was also added to the " "module. LMTP is used in place of SMTP when transferring e-mail between " "agents that don't manage a mail queue. (LMTP implemented by Leif Hedstrom; :" "issue:`957003`.)" msgstr "" "También se ha añadido al módulo una implementación del protocolo LMTP (:rfc:" "`2033`). LMTP se utiliza en lugar de SMTP cuando se transfiere correo " "electrónico entre agentes que no gestionan una cola de correo. (LMTP " "implementado por Leif Hedstrom; :issue:`957003`.)" #: ../Doc/whatsnew/2.6.rst:2361 msgid "" ":meth:`SMTP.starttls` now complies with :rfc:`3207` and forgets any " "knowledge obtained from the server not obtained from the TLS negotiation " "itself. (Patch contributed by Bill Fenner; :issue:`829951`.)" msgstr "" ":meth:`SMTP.starttls` ahora cumple con :rfc:`3207` y olvida cualquier " "conocimiento obtenido del servidor que no se haya obtenido de la propia " "negociación TLS. (Parche aportado por Bill Fenner; :issue:`829951`.)" #: ../Doc/whatsnew/2.6.rst:2366 msgid "" "The :mod:`socket` module now supports TIPC (https://tipc.sourceforge.net/), " "a high-performance non-IP-based protocol designed for use in clustered " "environments. TIPC addresses are 4- or 5-tuples. (Contributed by Alberto " "Bertogli; :issue:`1646`.)" msgstr "" "El módulo :mod:`socket` soporta ahora TIPC (http://tipc.sourceforge.net/), " "un protocolo de alto rendimiento no basado en IP y diseñado para su uso en " "entornos agrupados. Las direcciones TIPC son de 4 o 5 tuplas. (Contribución " "de Alberto Bertogli; :issue:`1646`.)" #: ../Doc/whatsnew/2.6.rst:2371 msgid "" "A new function, :func:`create_connection`, takes an address and connects to " "it using an optional timeout value, returning the connected socket object. " "This function also looks up the address's type and connects to it using IPv4 " "or IPv6 as appropriate. Changing your code to use :func:`create_connection` " "instead of ``socket(socket.AF_INET, ...)`` may be all that's required to " "make your code work with IPv6." msgstr "" "Una nueva función, :func:`create_connection`, toma una dirección y se " "conecta a ella utilizando un valor opcional de tiempo de espera, devolviendo " "el objeto socket conectado. Esta función también busca el tipo de dirección " "y se conecta a ella usando IPv4 o IPv6 según sea el caso. Cambiar su código " "para usar :func:`create_connection` en lugar de ``socket(socket." "AF_INET, ...)`` puede ser todo lo que se necesita para que su código " "funcione con IPv6." #: ../Doc/whatsnew/2.6.rst:2379 msgid "" "The base classes in the :mod:`SocketServer` module now support calling a :" "meth:`handle_timeout` method after a span of inactivity specified by the " "server's :attr:`timeout` attribute. (Contributed by Michael Pomraning.) " "The :meth:`serve_forever` method now takes an optional poll interval " "measured in seconds, controlling how often the server will check for a " "shutdown request. (Contributed by Pedro Werneck and Jeffrey Yasskin; :issue:" "`742598`, :issue:`1193577`.)" msgstr "" "Las clases base del módulo :mod:`SocketServer` ahora soportan la llamada a " "un método :meth:`handle_timeout` después de un periodo de inactividad " "especificado por el atributo :attr:`timeout` del servidor. (Contribuido por " "Michael Pomraning.) El método :meth:`serve_forever` ahora toma un intervalo " "de sondeo opcional medido en segundos, controlando la frecuencia con la que " "el servidor comprobará si hay una solicitud de cierre. (Contribuido por " "Pedro Werneck y Jeffrey Yasskin; :issue:`742598`, :issue:`1193577`.)" #: ../Doc/whatsnew/2.6.rst:2388 msgid "" "The :mod:`sqlite3` module, maintained by Gerhard Häring, has been updated " "from version 2.3.2 in Python 2.5 to version 2.4.1." msgstr "" "El módulo :mod:`sqlite3`, mantenido por Gerhard Häring, ha sido actualizado " "de la versión 2.3.2 en Python 2.5 a la versión 2.4.1." #: ../Doc/whatsnew/2.6.rst:2392 msgid "" "The :mod:`struct` module now supports the C99 :c:expr:`_Bool` type, using " "the format character ``'?'``. (Contributed by David Remahl.)" msgstr "" "El módulo :mod:`struct` ahora admite el tipo C99 :c:expr:`_Bool`, utilizando " "el carácter de formato ``'?'``. (Aportado por David Remahl.)" #: ../Doc/whatsnew/2.6.rst:2396 msgid "" "The :class:`Popen` objects provided by the :mod:`subprocess` module now " "have :meth:`terminate`, :meth:`kill`, and :meth:`send_signal` methods. On " "Windows, :meth:`send_signal` only supports the :const:`SIGTERM` signal, and " "all these methods are aliases for the Win32 API function :c:func:" "`TerminateProcess`. (Contributed by Christian Heimes.)" msgstr "" "Los objetos :class:`Popen` proporcionados por el módulo :mod:`subprocess` " "tienen ahora métodos :meth:`terminate`, :meth:`kill` y :meth:`send_signal`. " "En Windows, :meth:`send_signal` sólo soporta la señal :const:`SIGTERM`, y " "todos estos métodos son alias de la función de la API Win32 :c:func:" "`TerminateProcess`. (Contribuido por Christian Heimes.)" #: ../Doc/whatsnew/2.6.rst:2403 msgid "" "A new variable in the :mod:`sys` module, :attr:`float_info`, is an object " "containing information derived from the :file:`float.h` file about the " "platform's floating-point support. Attributes of this object include :attr:" "`mant_dig` (number of digits in the mantissa), :attr:`epsilon` (smallest " "difference between 1.0 and the next largest value representable), and " "several others. (Contributed by Christian Heimes; :issue:`1534`.)" msgstr "" "Una nueva variable en el módulo :mod:`sys`, :attr:`float_info`, es un objeto " "que contiene información derivada del archivo :file:`float.h` sobre el " "soporte de punto flotante de la plataforma. Los atributos de este objeto " "incluyen :attr:`mant_dig` (número de dígitos en la mantisa), :attr:`epsilon` " "(diferencia más pequeña entre 1.0 y el siguiente valor más grande " "representable), y varios otros. (Contribuido por Christian Heimes; :issue:" "`1534`.)" #: ../Doc/whatsnew/2.6.rst:2411 msgid "" "Another new variable, :attr:`dont_write_bytecode`, controls whether Python " "writes any :file:`.pyc` or :file:`.pyo` files on importing a module. If this " "variable is true, the compiled files are not written. The variable is " "initially set on start-up by supplying the :option:`-B` switch to the Python " "interpreter, or by setting the :envvar:`PYTHONDONTWRITEBYTECODE` environment " "variable before running the interpreter. Python code can subsequently " "change the value of this variable to control whether bytecode files are " "written or not. (Contributed by Neal Norwitz and Georg Brandl.)" msgstr "" "Otra nueva variable, :attr:`dont_write_bytecode`, controla si Python escribe " "algún archivo :file:`.pyc` o :file:`.pyo` al importar un módulo. Si esta " "variable es verdadera, los archivos compilados no se escriben. La variable " "se establece inicialmente al iniciar el intérprete de Python con la opción :" "option:`-B`, o estableciendo la variable de entorno :envvar:" "`PYTHONDONTWRITEBYTECODE` antes de ejecutar el intérprete. El código de " "Python puede cambiar posteriormente el valor de esta variable para controlar " "si los archivos de código de bytes se escriben o no. (Contribución de Neal " "Norwitz y Georg Brandl)" #: ../Doc/whatsnew/2.6.rst:2422 msgid "" "Information about the command-line arguments supplied to the Python " "interpreter is available by reading attributes of a named tuple available as " "``sys.flags``. For example, the :attr:`verbose` attribute is true if Python " "was executed in verbose mode, :attr:`debug` is true in debugging mode, etc. " "These attributes are all read-only. (Contributed by Christian Heimes.)" msgstr "" "La información sobre los argumentos de la línea de comandos suministrados al " "intérprete de Python está disponible leyendo los atributos de una tupla con " "nombre disponible como ``sys.flags``. Por ejemplo, el atributo :attr:" "`verbose` es verdadero si Python fue ejecutado en modo verbose, :attr:" "`debug` es verdadero en modo debugging, etc. Todos estos atributos son de " "sólo lectura. (Contribución de Christian Heimes)" #: ../Doc/whatsnew/2.6.rst:2430 msgid "" "A new function, :func:`getsizeof`, takes a Python object and returns the " "amount of memory used by the object, measured in bytes. Built-in objects " "return correct results; third-party extensions may not, but can define a :" "meth:`__sizeof__` method to return the object's size. (Contributed by Robert " "Schuppenies; :issue:`2898`.)" msgstr "" "Una nueva función, :func:`getsizeof`, toma un objeto Python y devuelve la " "cantidad de memoria utilizada por el objeto, medida en bytes. Los objetos " "incorporados devuelven resultados correctos; las extensiones de terceros " "pueden no hacerlo, pero pueden definir un método :meth:`__sizeof__` para " "devolver el tamaño del objeto. (Contribución de Robert Schuppenies; :issue:" "`2898`.)" #: ../Doc/whatsnew/2.6.rst:2437 msgid "" "It's now possible to determine the current profiler and tracer functions by " "calling :func:`sys.getprofile` and :func:`sys.gettrace`. (Contributed by " "Georg Brandl; :issue:`1648`.)" msgstr "" "Ahora es posible determinar las funciones actuales del perfilador y del " "trazador llamando a :func:`sys.getprofile` y :func:`sys.gettrace`. " "(Contribuido por Georg Brandl; :issue:`1648`.)" #: ../Doc/whatsnew/2.6.rst:2441 msgid "" "The :mod:`tarfile` module now supports POSIX.1-2001 (pax) tarfiles in " "addition to the POSIX.1-1988 (ustar) and GNU tar formats that were already " "supported. The default format is GNU tar; specify the ``format`` parameter " "to open a file using a different format::" msgstr "" "El módulo :mod:`tarfile` soporta ahora archivos tar POSIX.1-2001 (pax) " "además de los formatos POSIX.1-1988 (ustar) y GNU tar que ya estaban " "soportados. El formato por defecto es GNU tar; especifique el parámetro " "``format`` para abrir un archivo con un formato diferente::" #: ../Doc/whatsnew/2.6.rst:2449 msgid "" "The new ``encoding`` and ``errors`` parameters specify an encoding and an " "error handling scheme for character conversions. ``'strict'``, " "``'ignore'``, and ``'replace'`` are the three standard ways Python can " "handle errors,; ``'utf-8'`` is a special value that replaces bad characters " "with their UTF-8 representation. (Character conversions occur because the " "PAX format supports Unicode filenames, defaulting to UTF-8 encoding.)" msgstr "" "Los nuevos parámetros ``encoding`` y ``errors`` especifican una codificación " "y un esquema de manejo de errores para las conversiones de caracteres. " "``'strict'``, ``'ignore'``, y ``'replace'`` son las tres formas estándar en " "las que Python puede manejar los errores; ``'utf-8'`` es un valor especial " "que reemplaza los caracteres erróneos con su representación UTF-8. (Las " "conversiones de caracteres ocurren porque el formato PAX soporta nombres de " "archivo Unicode, por defecto con codificación UTF-8)" #: ../Doc/whatsnew/2.6.rst:2457 msgid "" "The :meth:`TarFile.add` method now accepts an ``exclude`` argument that's a " "function that can be used to exclude certain filenames from an archive. The " "function must take a filename and return true if the file should be excluded " "or false if it should be archived. The function is applied to both the name " "initially passed to :meth:`add` and to the names of files in recursively " "added directories." msgstr "" "El método :meth:`TarFile.add` ahora acepta un argumento ``exclude`` que es " "una función que se puede usar para excluir ciertos nombres de archivo de un " "archivo. La función debe tomar un nombre de archivo y retornar verdadero si " "el archivo debe excluirse o falso si debe archivarse. La función se aplica " "tanto al nombre pasado inicialmente a :meth:`add` como a los nombres de los " "archivos en los directorios agregados recursivamente." #: ../Doc/whatsnew/2.6.rst:2465 msgid "(All changes contributed by Lars Gustäbel)." msgstr "(Todos los cambios han sido aportados por Lars Gustäbel)." #: ../Doc/whatsnew/2.6.rst:2467 msgid "" "An optional ``timeout`` parameter was added to the :class:`telnetlib.Telnet` " "class constructor, specifying a timeout measured in seconds. (Added by " "Facundo Batista.)" msgstr "" "Se agregó un parámetro opcional ``timeout`` al constructor de la clase :" "class:`telnetlib.Telnet`, especificando un tiempo de espera medido en " "segundos. (Añadido por Facundo Batista)" #: ../Doc/whatsnew/2.6.rst:2471 msgid "" "The :class:`tempfile.NamedTemporaryFile` class usually deletes the temporary " "file it created when the file is closed. This behaviour can now be changed " "by passing ``delete=False`` to the constructor. (Contributed by Damien " "Miller; :issue:`1537850`.)" msgstr "" "La clase :class:`tempfile.NamedTemporaryFile` suele borrar el archivo " "temporal que ha creado cuando se cierra el archivo. Este comportamiento se " "puede cambiar pasando ``delete=False`` al constructor. (Contribución de " "Damien Miller; :issue:`1537850`.)" #: ../Doc/whatsnew/2.6.rst:2476 msgid "" "A new class, :class:`SpooledTemporaryFile`, behaves like a temporary file " "but stores its data in memory until a maximum size is exceeded. On reaching " "that limit, the contents will be written to an on-disk temporary file. " "(Contributed by Dustin J. Mitchell.)" msgstr "" "Una nueva clase, :class:`SpooledTemporaryFile`, se comporta como un archivo " "temporal pero almacena sus datos en memoria hasta que se supera un tamaño " "máximo. Al llegar a ese límite, el contenido se escribirá en un archivo " "temporal en el disco. (Contribución de Dustin J. Mitchell)" #: ../Doc/whatsnew/2.6.rst:2481 msgid "" "The :class:`NamedTemporaryFile` and :class:`SpooledTemporaryFile` classes " "both work as context managers, so you can write ``with tempfile." "NamedTemporaryFile() as tmp: ...``. (Contributed by Alexander Belopolsky; :" "issue:`2021`.)" msgstr "" "Las clases :class:`NamedTemporaryFile` y :class:`SpooledTemporaryFile` " "funcionan como gestores de contexto, por lo que puedes escribir ``con " "tempfile.NamedTemporaryFile() como tmp: ...``. (Contribuido por Alexander " "Belopolsky; :issue:`2021`.)" #: ../Doc/whatsnew/2.6.rst:2486 msgid "" "The :mod:`test.test_support` module gained a number of context managers " "useful for writing tests. :func:`EnvironmentVarGuard` is a context manager " "that temporarily changes environment variables and automatically restores " "them to their old values." msgstr "" "El módulo :mod:`test.test_support` obtuvo una serie de gestores de contexto " "útiles para escribir pruebas. :func:`EnvironmentVarGuard` es un gestor de " "contexto que cambia temporalmente las variables de entorno y las restaura " "automáticamente a sus valores anteriores." #: ../Doc/whatsnew/2.6.rst:2492 msgid "" "Another context manager, :class:`TransientResource`, can surround calls to " "resources that may or may not be available; it will catch and ignore a " "specified list of exceptions. For example, a network test may ignore " "certain failures when connecting to an external web site::" msgstr "" "Otro gestor de contexto, :class:`TransientResource`, puede rodear las " "llamadas a recursos que pueden o no estar disponibles; atrapará e ignorará " "una lista especificada de excepciones. Por ejemplo, una prueba de red puede " "ignorar ciertos fallos al conectarse a un sitio web externo::" #: ../Doc/whatsnew/2.6.rst:2503 msgid "" "Finally, :func:`check_warnings` resets the :mod:`warning` module's warning " "filters and returns an object that will record all warning messages " "triggered (:issue:`3781`)::" msgstr "" "Por último, :func:`check_warnings` restablece los filtros de advertencia del " "módulo :mod:`warning` y devuelve un objeto que registrará todos los mensajes " "de advertencia activados (:issue:`3781`)::" #: ../Doc/whatsnew/2.6.rst:2513 msgid "(Contributed by Brett Cannon.)" msgstr "(Contribución de Brett Cannon.)" #: ../Doc/whatsnew/2.6.rst:2515 msgid "" "The :mod:`textwrap` module can now preserve existing whitespace at the " "beginnings and ends of the newly created lines by specifying " "``drop_whitespace=False`` as an argument::" msgstr "" "El módulo :mod:`textwrap` ahora puede conservar los espacios en blanco " "existentes al principio y al final de las líneas recién creadas " "especificando ``drop_whitespace=False`` como argumento:" #: ../Doc/whatsnew/2.6.rst:2534 msgid "(Contributed by Dwayne Bailey; :issue:`1581073`.)" msgstr "(Contribución de Dwayne Bailey; :issue:`1581073`.)" #: ../Doc/whatsnew/2.6.rst:2536 msgid "" "The :mod:`threading` module API is being changed to use properties such as :" "attr:`daemon` instead of :meth:`setDaemon` and :meth:`isDaemon` methods, and " "some methods have been renamed to use underscores instead of camel-case; for " "example, the :meth:`activeCount` method is renamed to :meth:`active_count`. " "Both the 2.6 and 3.0 versions of the module support the same properties and " "renamed methods, but don't remove the old methods. No date has been set for " "the deprecation of the old APIs in Python 3.x; the old APIs won't be removed " "in any 2.x version. (Carried out by several people, most notably Benjamin " "Peterson.)" msgstr "" "La API del módulo :mod:`threading` se ha cambiado para utilizar propiedades " "como :attr:`daemon` en lugar de los métodos :meth:`setDaemon` y :meth:" "`isDaemon`, y algunos métodos se han renombrado para utilizar guiones bajos " "en lugar de mayúsculas; por ejemplo, el método :meth:`activeCount` se ha " "renombrado a :meth:`active_count`. Tanto la versión 2.6 como la 3.0 del " "módulo soportan las mismas propiedades y métodos renombrados, pero no " "eliminan los métodos antiguos. No se ha fijado una fecha para la " "eliminación de las antiguas APIs en Python 3.x; las antiguas APIs no se " "eliminarán en ninguna versión 2.x. (Llevado a cabo por varias personas, " "sobre todo por Benjamin Peterson)" #: ../Doc/whatsnew/2.6.rst:2547 msgid "" "The :mod:`threading` module's :class:`Thread` objects gained an :attr:" "`ident` property that returns the thread's identifier, a nonzero integer. " "(Contributed by Gregory P. Smith; :issue:`2871`.)" msgstr "" "Los objetos :mod:`threading` del módulo :class:`Thread` han ganado una " "propiedad :attr:`ident` que devuelve el identificador del hilo, un entero no " "nulo. (Contribución de Gregory P. Smith; :issue:`2871`.)" #: ../Doc/whatsnew/2.6.rst:2552 msgid "" "The :mod:`timeit` module now accepts callables as well as strings for the " "statement being timed and for the setup code. Two convenience functions were " "added for creating :class:`Timer` instances: ``repeat(stmt, setup, time, " "repeat, number)`` and ``timeit(stmt, setup, time, number)`` create an " "instance and call the corresponding method. (Contributed by Erik Demaine; :" "issue:`1533909`.)" msgstr "" "El módulo :mod:`timeit` acepta ahora callables así como cadenas para la " "sentencia que se está cronometrando y para el código de configuración. Se " "han añadido dos funciones para crear instancias de :class:`Timer`: " "``repeat(stmt, setup, time, repeat, number)`` y ``timeit(stmt, setup, time, " "number)`` crean una instancia y llaman al método correspondiente. " "(Contribución de Erik Demaine; :issue:`1533909`.)" #: ../Doc/whatsnew/2.6.rst:2561 msgid "" "The :mod:`Tkinter` module now accepts lists and tuples for options, " "separating the elements by spaces before passing the resulting value to Tcl/" "Tk. (Contributed by Guilherme Polo; :issue:`2906`.)" msgstr "" "El módulo :mod:`Tkinter` ahora acepta listas y tuplas para las opciones, " "separando los elementos por espacios antes de pasar el valor resultante a " "Tcl/Tk. (Contribuido por Guilherme Polo; :issue:`2906`.)" #: ../Doc/whatsnew/2.6.rst:2566 msgid "" "The :mod:`turtle` module for turtle graphics was greatly enhanced by Gregor " "Lingl. New features in the module include:" msgstr "" "El módulo :mod:`turtle` para los gráficos de tortugas ha sido muy mejorado " "por Gregor Lingl. Las nuevas características del módulo incluyen:" #: ../Doc/whatsnew/2.6.rst:2569 msgid "Better animation of turtle movement and rotation." msgstr "Mejor animación del movimiento y la rotación de la tortuga." #: ../Doc/whatsnew/2.6.rst:2570 msgid "" "Control over turtle movement using the new :meth:`delay`, :meth:`tracer`, " "and :meth:`speed` methods." msgstr "" "Control del movimiento de las tortugas mediante los nuevos métodos :meth:" "`retraso`, :meth:`tracer` y :meth:`velocidad`." #: ../Doc/whatsnew/2.6.rst:2572 msgid "" "The ability to set new shapes for the turtle, and to define a new coordinate " "system." msgstr "" "La posibilidad de establecer nuevas formas para la tortuga y de definir un " "nuevo sistema de coordenadas." #: ../Doc/whatsnew/2.6.rst:2574 msgid "Turtles now have an :meth:`undo()` method that can roll back actions." msgstr "" "Las tortugas ahora tienen un método :meth:`undo()` que puede revertir las " "acciones." #: ../Doc/whatsnew/2.6.rst:2575 msgid "" "Simple support for reacting to input events such as mouse and keyboard " "activity, making it possible to write simple games." msgstr "" "Soporte sencillo para reaccionar a eventos de entrada como la actividad del " "ratón y del teclado, lo que permite escribir juegos sencillos." #: ../Doc/whatsnew/2.6.rst:2577 msgid "" "A :file:`turtle.cfg` file can be used to customize the starting appearance " "of the turtle's screen." msgstr "" "Se puede utilizar un archivo :file:`turtle.cfg` para personalizar la " "apariencia inicial de la pantalla de la tortuga." #: ../Doc/whatsnew/2.6.rst:2579 msgid "" "The module's docstrings can be replaced by new docstrings that have been " "translated into another language." msgstr "" "Los docstrings del módulo pueden ser sustituidos por nuevos docstrings " "traducidos a otro idioma." #: ../Doc/whatsnew/2.6.rst:2582 msgid "(:issue:`1513695`)" msgstr "(:issue:`1513695`)" #: ../Doc/whatsnew/2.6.rst:2584 msgid "" "An optional ``timeout`` parameter was added to the :func:`urllib.urlopen` " "function and the :class:`urllib.ftpwrapper` class constructor, as well as " "the :func:`urllib2.urlopen` function. The parameter specifies a timeout " "measured in seconds. For example::" msgstr "" "Se ha añadido un parámetro opcional ``timeout`` a la función :func:`urllib." "urlopen` y al constructor de la clase :class:`urllib.ftpwrapper`, así como a " "la función :func:`urllib2.urlopen`. El parámetro especifica un tiempo de " "espera medido en segundos. Por ejemplo::" #: ../Doc/whatsnew/2.6.rst:2597 msgid "(Added by Facundo Batista.)" msgstr "(Añadido por Facundo Batista.)" #: ../Doc/whatsnew/2.6.rst:2599 msgid "" "The Unicode database provided by the :mod:`unicodedata` module has been " "updated to version 5.1.0. (Updated by Martin von Löwis; :issue:`3811`.)" msgstr "" "La base de datos Unicode proporcionada por el módulo :mod:`unicodedata` ha " "sido actualizada a la versión 5.1.0. (Actualizado por Martin von Löwis; :" "issue:`3811`.)" #: ../Doc/whatsnew/2.6.rst:2603 msgid "" "The :mod:`warnings` module's :func:`formatwarning` and :func:`showwarning` " "gained an optional *line* argument that can be used to supply the line of " "source code. (Added as part of :issue:`1631171`, which re-implemented part " "of the :mod:`warnings` module in C code.)" msgstr "" "Las funciones :mod:`warnings` del módulo :func:`formatwarning` y :func:" "`showwarning` han ganado un argumento opcional *line* que puede utilizarse " "para proporcionar la línea de código fuente. (Añadido como parte de :issue:" "`1631171`, que reimplementaba parte del módulo :mod:`warnings` en código C)" #: ../Doc/whatsnew/2.6.rst:2608 msgid "" "A new function, :func:`catch_warnings`, is a context manager intended for " "testing purposes that lets you temporarily modify the warning filters and " "then restore their original values (:issue:`3781`)." msgstr "" "Una nueva función, :func:`catch_warnings`, es un gestor de contexto " "destinado a la realización de pruebas que permite modificar temporalmente " "los filtros de advertencia y luego restaurar sus valores originales (:issue:" "`3781`)." #: ../Doc/whatsnew/2.6.rst:2612 msgid "" "The XML-RPC :class:`SimpleXMLRPCServer` and :class:`DocXMLRPCServer` classes " "can now be prevented from immediately opening and binding to their socket by " "passing ``False`` as the *bind_and_activate* constructor parameter. This " "can be used to modify the instance's :attr:`allow_reuse_address` attribute " "before calling the :meth:`server_bind` and :meth:`server_activate` methods " "to open the socket and begin listening for connections. (Contributed by " "Peter Parente; :issue:`1599845`.)" msgstr "" "Las clases XML-RPC :class:`SimpleXMLRPCServer` y :class:`DocXMLRPCServer` " "pueden ahora evitar que se abran inmediatamente y se vinculen a su socket " "pasando ``False`` como parámetro del constructor *bind_and_activate*. Esto " "puede usarse para modificar el atributo :attr:`allow_reuse_address` de la " "instancia antes de llamar a los métodos :meth:`server_bind` y :meth:" "`server_activate` para abrir el socket y comenzar a escuchar conexiones. " "(Contribuido por Peter Parente; :issue:`1599845`.)" #: ../Doc/whatsnew/2.6.rst:2621 msgid "" ":class:`SimpleXMLRPCServer` also has a :attr:`_send_traceback_header` " "attribute; if true, the exception and formatted traceback are returned as " "HTTP headers \"X-Exception\" and \"X-Traceback\". This feature is for " "debugging purposes only and should not be used on production servers because " "the tracebacks might reveal passwords or other sensitive information. " "(Contributed by Alan McIntyre as part of his project for Google's Summer of " "Code 2007.)" msgstr "" ":class:`SimpleXMLRPCServer` también tiene un atributo :attr:" "`_send_traceback_header`; si es true, la excepción y el traceback formateado " "se devuelven como cabeceras HTTP \"X-Exception\" y \"X-Traceback\". Esta " "característica es sólo para propósitos de depuración y no debe ser usada en " "servidores de producción porque los trazos pueden revelar contraseñas u otra " "información sensible. (Contribuido por Alan McIntyre como parte de su " "proyecto para el Summer of Code 2007 de Google)" #: ../Doc/whatsnew/2.6.rst:2629 msgid "" "The :mod:`xmlrpclib` module no longer automatically converts :class:" "`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib." "DateTime` type; the conversion semantics were not necessarily correct for " "all applications. Code using :mod:`xmlrpclib` should convert :class:`date` " "and :class:`~datetime.time` instances. (:issue:`1330538`) The code can also " "handle dates before 1900 (contributed by Ralf Schmitt; :issue:`2014`) and 64-" "bit integers represented by using ```` in XML-RPC responses (contributed " "by Riku Lindblad; :issue:`2985`)." msgstr "" "El módulo :mod:`xmlrpclib` ya no convierte automáticamente las instancias :" "class:`datetime.date` y :class:`datetime.time` al tipo :class:`xmlrpclib." "DateTime`; la semántica de conversión no era necesariamente correcta para " "todas las aplicaciones. El código que utiliza :mod:`xmlrpclib` debe " "convertir las instancias :class:`date` y :class:`~datetime.time`. (:issue:" "`1330538`) El código también puede manejar fechas anteriores a 1900 " "(contribución de Ralf Schmitt; :issue:`2014`) y enteros de 64 bits " "representados mediante el uso de ```` en las respuestas XML-RPC " "(contribución de Riku Lindblad; :issue:`2985`)." #: ../Doc/whatsnew/2.6.rst:2639 msgid "" "The :mod:`zipfile` module's :class:`ZipFile` class now has :meth:`extract` " "and :meth:`extractall` methods that will unpack a single file or all the " "files in the archive to the current directory, or to a specified directory::" msgstr "" "La clase :mod:`zipfile` del módulo :class:`ZipFile` tiene ahora los métodos :" "meth:`extract` y :meth:`extractall` que desempaquetarán un solo fichero o " "todos los ficheros del archivo en el directorio actual, o en un directorio " "especificado::" #: ../Doc/whatsnew/2.6.rst:2653 msgid "(Contributed by Alan McIntyre; :issue:`467924`.)" msgstr "(Contribución de Alan McIntyre; :issue:`467924`.)" #: ../Doc/whatsnew/2.6.rst:2655 msgid "" "The :meth:`open`, :meth:`read` and :meth:`extract` methods can now take " "either a filename or a :class:`ZipInfo` object. This is useful when an " "archive accidentally contains a duplicated filename. (Contributed by Graham " "Horler; :issue:`1775025`.)" msgstr "" "Los métodos :meth:`open`, :meth:`read` y :meth:`extract` ahora pueden tomar " "un nombre de archivo o un objeto :class:`ZipInfo`. Esto es útil cuando un " "archivo contiene accidentalmente un nombre de archivo duplicado. " "(Contribución de Graham Horler; :issue:`1775025`.)" #: ../Doc/whatsnew/2.6.rst:2660 msgid "" "Finally, :mod:`zipfile` now supports using Unicode filenames for archived " "files. (Contributed by Alexey Borzenkov; :issue:`1734346`.)" msgstr "" "Por último, :mod:`zipfile` soporta ahora el uso de nombres de archivo " "Unicode para los ficheros archivados. (Contribución de Alexey Borzenkov; :" "issue:`1734346`.)" #: ../Doc/whatsnew/2.6.rst:2667 msgid "The :mod:`ast` module" msgstr "El módulo :mod:`ast`" #: ../Doc/whatsnew/2.6.rst:2669 msgid "" "The :mod:`ast` module provides an Abstract Syntax Tree representation of " "Python code, and Armin Ronacher contributed a set of helper functions that " "perform a variety of common tasks. These will be useful for HTML templating " "packages, code analyzers, and similar tools that process Python code." msgstr "" "El módulo :mod:`ast` proporciona una representación de árbol de sintaxis " "abstracta del código Python, y Armin Ronacher ha contribuido con un conjunto " "de funciones de ayuda que realizan una variedad de tareas comunes. Éstas " "serán útiles para paquetes de plantillas HTML, analizadores de código y " "herramientas similares que procesan código Python." #: ../Doc/whatsnew/2.6.rst:2676 msgid "" "The :func:`parse` function takes an expression and returns an AST. The :func:" "`dump` function outputs a representation of a tree, suitable for debugging::" msgstr "" "La función :func:`parse` toma una expresión y devuelve un AST. La función :" "func:`dump` devuelve una representación de un árbol, adecuada para la " "depuración::" #: ../Doc/whatsnew/2.6.rst:2690 msgid "This outputs a deeply nested tree::" msgstr "Esto produce un árbol profundamente anidado::" #: ../Doc/whatsnew/2.6.rst:2723 msgid "" "The :func:`literal_eval` method takes a string or an AST representing a " "literal expression, parses and evaluates it, and returns the resulting " "value. A literal expression is a Python expression containing only strings, " "numbers, dictionaries, etc. but no statements or function calls. If you " "need to evaluate an expression but cannot accept the security risk of using " "an :func:`eval` call, :func:`literal_eval` will handle it safely::" msgstr "" "El método :func:`literal_eval` toma una cadena o un AST que representa una " "expresión literal, la analiza y evalúa, y devuelve el valor resultante. Una " "expresión literal es una expresión de Python que sólo contiene cadenas, " "números, diccionarios, etc. pero no declaraciones o llamadas a funciones. " "Si necesita evaluar una expresión pero no puede aceptar el riesgo de " "seguridad que supone utilizar una llamada a :func:`eval`, :func:" "`literal_eval` lo hará de forma segura::" #: ../Doc/whatsnew/2.6.rst:2739 msgid "" "The module also includes :class:`NodeVisitor` and :class:`NodeTransformer` " "classes for traversing and modifying an AST, and functions for common " "transformations such as changing line numbers." msgstr "" "El módulo también incluye las clases :class:`NodeVisitor` y :class:" "`NodeTransformer` para recorrer y modificar un AST, y funciones para " "transformaciones comunes como el cambio de números de línea." #: ../Doc/whatsnew/2.6.rst:2747 msgid "The :mod:`future_builtins` module" msgstr "El módulo :mod:`future_builtins`" #: ../Doc/whatsnew/2.6.rst:2749 msgid "" "Python 3.0 makes many changes to the repertoire of built-in functions, and " "most of the changes can't be introduced in the Python 2.x series because " "they would break compatibility. The :mod:`future_builtins` module provides " "versions of these built-in functions that can be imported when writing 3.0-" "compatible code." msgstr "" "Python 3.0 introduce muchos cambios en el repertorio de funciones " "incorporadas, y la mayoría de los cambios no pueden introducirse en la serie " "Python 2.x porque romperían la compatibilidad. El módulo :mod:" "`future_builtins` proporciona versiones de estas funciones incorporadas que " "pueden importarse al escribir código compatible con la versión 3.0." #: ../Doc/whatsnew/2.6.rst:2756 msgid "The functions in this module currently include:" msgstr "Las funciones de este módulo incluyen actualmente:" #: ../Doc/whatsnew/2.6.rst:2758 msgid "" "``ascii(obj)``: equivalent to :func:`repr`. In Python 3.0, :func:`repr` " "will return a Unicode string, while :func:`ascii` will return a pure ASCII " "bytestring." msgstr "" "``ascii(obj)``: equivalente a :func:`repr`. En Python 3.0, :func:`repr` " "devolverá una cadena Unicode, mientras que :func:`ascii` devolverá una " "cadena de bytes ASCII pura." #: ../Doc/whatsnew/2.6.rst:2762 msgid "" "``filter(predicate, iterable)``, ``map(func, iterable1, ...)``: the 3.0 " "versions return iterators, unlike the 2.x builtins which return lists." msgstr "" "``filtro(predicado, iterable)``, ``map(func, iterable1, ...)``: las " "versiones 3.0 devuelven iteradores, a diferencia de las funciones integradas " "2.x que devuelven listas." #: ../Doc/whatsnew/2.6.rst:2766 msgid "" "``hex(value)``, ``oct(value)``: instead of calling the :meth:`__hex__` or :" "meth:`__oct__` methods, these versions will call the :meth:`__index__` " "method and convert the result to hexadecimal or octal. :func:`oct` will use " "the new ``0o`` notation for its result." msgstr "" "``hex(valor)``, ``oct(valor)``: en lugar de llamar a los métodos :meth:" "`__hex__` o :meth:`__oct__`, estas versiones llamarán al método :meth:" "`__index__` y convertirán el resultado a hexadecimal u octal. :func:`oct` " "utilizará la nueva notación ``0o`` para su resultado." #: ../Doc/whatsnew/2.6.rst:2775 msgid "The :mod:`json` module: JavaScript Object Notation" msgstr "El módulo :mod:`json`: Notación de objetos de JavaScript" #: ../Doc/whatsnew/2.6.rst:2777 msgid "" "The new :mod:`json` module supports the encoding and decoding of Python " "types in JSON (Javascript Object Notation). JSON is a lightweight " "interchange format often used in web applications. For more information " "about JSON, see http://www.json.org." msgstr "" "El nuevo módulo :mod:`json` soporta la codificación y decodificación de " "tipos Python en JSON (*Javascript Object Notation*). JSON es un formato de " "intercambio ligero que se utiliza a menudo en las aplicaciones web. Para más " "información sobre JSON, consulte http://www.json.org." #: ../Doc/whatsnew/2.6.rst:2782 msgid "" ":mod:`json` comes with support for decoding and encoding most built-in " "Python types. The following example encodes and decodes a dictionary::" msgstr "" ":mod:`json` viene con soporte para decodificar y codificar la mayoría de los " "tipos incorporados de Python. El siguiente ejemplo codifica y decodifica un " "diccionario::" #: ../Doc/whatsnew/2.6.rst:2793 msgid "" "It's also possible to write your own decoders and encoders to support more " "types. Pretty-printing of the JSON strings is also supported." msgstr "" "También es posible escribir tus propios decodificadores y codificadores para " "soportar más tipos. También se admite la impresión bonita de las cadenas " "JSON." #: ../Doc/whatsnew/2.6.rst:2796 msgid ":mod:`json` (originally called simplejson) was written by Bob Ippolito." msgstr "" ":mod:`json` (originalmente llamado simplejson) fue escrito por Bob Ippolito." #: ../Doc/whatsnew/2.6.rst:2803 msgid "The :mod:`plistlib` module: A Property-List Parser" msgstr "El módulo :mod:`plistlib`: Un analizador de listas de propiedades" #: ../Doc/whatsnew/2.6.rst:2805 msgid "" "The ``.plist`` format is commonly used on Mac OS X to store basic data types " "(numbers, strings, lists, and dictionaries) by serializing them into an XML-" "based format. It resembles the XML-RPC serialization of data types." msgstr "" "El formato ``.plist`` se utiliza habitualmente en Mac OS X para almacenar " "tipos de datos básicos (números, cadenas, listas y diccionarios) " "serializándolos en un formato basado en XML. Se asemeja a la serialización " "XML-RPC de los tipos de datos." #: ../Doc/whatsnew/2.6.rst:2810 msgid "" "Despite being primarily used on Mac OS X, the format has nothing Mac-" "specific about it and the Python implementation works on any platform that " "Python supports, so the :mod:`plistlib` module has been promoted to the " "standard library." msgstr "" "A pesar de ser utilizado principalmente en Mac OS X, el formato no tiene " "nada de específico para Mac y la implementación de Python funciona en " "cualquier plataforma que soporte Python, por lo que el módulo :mod:" "`plistlib` ha sido promovido a la biblioteca estándar." #: ../Doc/whatsnew/2.6.rst:2815 msgid "Using the module is simple::" msgstr "El uso del módulo es sencillo::" #: ../Doc/whatsnew/2.6.rst:2842 msgid "ctypes Enhancements" msgstr "mejoras en ctypes" #: ../Doc/whatsnew/2.6.rst:2844 msgid "" "Thomas Heller continued to maintain and enhance the :mod:`ctypes` module." msgstr "Thomas Heller siguió manteniendo y mejorando el módulo :mod:`ctypes`." #: ../Doc/whatsnew/2.6.rst:2847 msgid "" ":mod:`ctypes` now supports a :class:`c_bool` datatype that represents the " "C99 ``bool`` type. (Contributed by David Remahl; :issue:`1649190`.)" msgstr "" ":mod:`ctypes` soporta ahora un tipo de datos :class:`c_bool` que representa " "el tipo C99 ``bool``. (Contribución de David Remahl; :issue:`1649190`.)" #: ../Doc/whatsnew/2.6.rst:2851 msgid "" "The :mod:`ctypes` string, buffer and array types have improved support for " "extended slicing syntax, where various combinations of ``(start, stop, " "step)`` are supplied. (Implemented by Thomas Wouters.)" msgstr "" "Los tipos de cadena, buffer y array de :mod:`ctypes` han mejorado el soporte " "para la sintaxis de corte extendida, donde se suministran varias " "combinaciones de ``(start, stop, step)``. (Implementado por Thomas Wouters)" #: ../Doc/whatsnew/2.6.rst:2858 msgid "" "All :mod:`ctypes` data types now support :meth:`from_buffer` and :meth:" "`from_buffer_copy` methods that create a ctypes instance based on a provided " "buffer object. :meth:`from_buffer_copy` copies the contents of the object, " "while :meth:`from_buffer` will share the same memory area." msgstr "" "Todos los tipos de datos :mod:`ctypes` soportan ahora los métodos :meth:" "`from_buffer` y :meth:`from_buffer_copy` que crean una instancia de ctypes " "basada en un objeto buffer proporcionado. :meth:`from_buffer_copy` copia el " "contenido del objeto, mientras que :meth:`from_buffer` compartirá la misma " "área de memoria." #: ../Doc/whatsnew/2.6.rst:2865 msgid "" "A new calling convention tells :mod:`ctypes` to clear the ``errno`` or Win32 " "LastError variables at the outset of each wrapped call. (Implemented by " "Thomas Heller; :issue:`1798`.)" msgstr "" "Una nueva convención de llamada indica a :mod:`ctypes` que borre las " "variables ``errno`` o Win32 LastError al inicio de cada llamada envuelta. " "(Implementado por Thomas Heller; :issue:`1798`.)" #: ../Doc/whatsnew/2.6.rst:2869 msgid "" "You can now retrieve the Unix ``errno`` variable after a function call. " "When creating a wrapped function, you can supply ``use_errno=True`` as a " "keyword parameter to the :func:`DLL` function and then call the module-level " "methods :meth:`set_errno` and :meth:`get_errno` to set and retrieve the " "error value." msgstr "" "Ahora puede recuperar la variable Unix ``errno`` después de una llamada a " "una función. Al crear una función envuelta, puede suministrar " "``use_errno=True`` como parámetro de palabra clave a la función :func:`DLL` " "y luego llamar a los métodos de nivel de módulo :meth:`set_errno` y :meth:" "`get_errno` para establecer y recuperar el valor del error." #: ../Doc/whatsnew/2.6.rst:2875 msgid "" "The Win32 LastError variable is similarly supported by the :func:`DLL`, :" "func:`OleDLL`, and :func:`WinDLL` functions. You supply " "``use_last_error=True`` as a keyword parameter and then call the module-" "level methods :meth:`set_last_error` and :meth:`get_last_error`." msgstr "" "La variable Win32 LastError es soportada de forma similar por las funciones :" "func:`DLL`, :func:`OleDLL`, y :func:`WinDLL`. Se suministra " "``use_last_error=True`` como parámetro de palabra clave y luego se llaman " "los métodos a nivel de módulo :meth:`set_last_error` y :meth:" "`get_last_error`." #: ../Doc/whatsnew/2.6.rst:2881 msgid "" "The :func:`byref` function, used to retrieve a pointer to a ctypes instance, " "now has an optional *offset* parameter that is a byte count that will be " "added to the returned pointer." msgstr "" "La función :func:`byref`, utilizada para recuperar un puntero a una " "instancia de ctypes, tiene ahora un parámetro opcional *offset* que es un " "recuento de bytes que se añadirá al puntero devuelto." #: ../Doc/whatsnew/2.6.rst:2888 msgid "Improved SSL Support" msgstr "Mejora de la compatibilidad con SSL" #: ../Doc/whatsnew/2.6.rst:2890 msgid "" "Bill Janssen made extensive improvements to Python 2.6's support for the " "Secure Sockets Layer by adding a new module, :mod:`ssl`, that's built atop " "the `OpenSSL `__ library. This new module provides " "more control over the protocol negotiated, the X.509 certificates used, and " "has better support for writing SSL servers (as opposed to clients) in " "Python. The existing SSL support in the :mod:`socket` module hasn't been " "removed and continues to work, though it will be removed in Python 3.0." msgstr "" "Bill Janssen ha realizado amplias mejoras en el soporte de Python 2.6 para " "la Capa de Conexión Segura añadiendo un nuevo módulo, :mod:`ssl`, que está " "construido sobre la biblioteca `OpenSSL `__. Este " "nuevo módulo proporciona más control sobre el protocolo negociado, los " "certificados X.509 utilizados, y tiene un mejor soporte para escribir " "servidores SSL (a diferencia de los clientes) en Python. El soporte SSL " "existente en el módulo :mod:`socket` no ha sido eliminado y sigue " "funcionando, aunque será eliminado en Python 3.0." #: ../Doc/whatsnew/2.6.rst:2899 msgid "" "To use the new module, you must first create a TCP connection in the usual " "way and then pass it to the :func:`ssl.wrap_socket` function. It's possible " "to specify whether a certificate is required, and to obtain certificate info " "by calling the :meth:`getpeercert` method." msgstr "" "Para utilizar el nuevo módulo, primero hay que crear una conexión TCP de la " "forma habitual y luego pasarla a la función :func:`ssl.wrap_socket`. Es " "posible especificar si se requiere un certificado, y obtener información " "sobre el mismo llamando al método :meth:`getpeercert`." #: ../Doc/whatsnew/2.6.rst:2906 msgid "The documentation for the :mod:`ssl` module." msgstr "La documentación del módulo :mod:`ssl`." #: ../Doc/whatsnew/2.6.rst:2911 msgid "Deprecations and Removals" msgstr "Cancelaciones y eliminaciones" #: ../Doc/whatsnew/2.6.rst:2913 ../Doc/whatsnew/2.6.rst:3241 msgid "" "String exceptions have been removed. Attempting to use them raises a :exc:" "`TypeError`." msgstr "" "Se han eliminado las excepciones de cadena. Al intentar utilizarlas se " "produce un :exc:`TypeError`." #: ../Doc/whatsnew/2.6.rst:2916 msgid "" "Changes to the :class:`Exception` interface as dictated by :pep:`352` " "continue to be made. For 2.6, the :attr:`message` attribute is being " "deprecated in favor of the :attr:`args` attribute." msgstr "" "Los cambios en la interfaz :class:`Exception` dictados por :pep:`352` siguen " "realizándose. En la versión 2.6, el atributo :attr:`message` queda obsoleto " "en favor del atributo :attr:`args`." #: ../Doc/whatsnew/2.6.rst:2921 msgid "" "(3.0-warning mode) Python 3.0 will feature a reorganized standard library " "that will drop many outdated modules and rename others. Python 2.6 running " "in 3.0-warning mode will warn about these modules when they are imported." msgstr "" "(modo 3.0-warning) Python 3.0 presentará una biblioteca estándar " "reorganizada que eliminará muchos módulos obsoletos y renombrará otros. " "Python 2.6 funcionando en modo 3.0-warning avisará de estos módulos cuando " "se importen." #: ../Doc/whatsnew/2.6.rst:2926 msgid "" "The list of deprecated modules is: :mod:`audiodev`, :mod:`bgenlocations`, :" "mod:`buildtools`, :mod:`bundlebuilder`, :mod:`Canvas`, :mod:`compiler`, :mod:" "`dircache`, :mod:`dl`, :mod:`fpformat`, :mod:`gensuitemodule`, :mod:" "`ihooks`, :mod:`imageop`, :mod:`imgfile`, :mod:`linuxaudiodev`, :mod:" "`mhlib`, :mod:`mimetools`, :mod:`multifile`, :mod:`new`, :mod:`pure`, :mod:" "`statvfs`, :mod:`sunaudiodev`, :mod:`test.testall`, and :mod:`toaiff`." msgstr "" "La lista de módulos obsoletos es: :mod:`audiodev`, :mod:`bgenlocations`, :" "mod:`buildtools`, :mod:`bundlebuilder`, :mod:`Canvas`, :mod:`compiler`, :mod:" "`dircache`, :mod:`dl`, :mod:`fpformat`, :mod:`gensuitemodule`, :mod:" "`ihooks`, :mod:`imageop`, :mod:`imgfile`, :mod:`linuxaudiodev`, :mod:" "`mhlib`, :mod:`mimetools`, :mod:`multifile`, :mod:`new`, :mod:`pure`, :mod:" "`statvfs`, :mod:`sunaudiodev`, :mod:`test.testall`, y :mod:`toaiff`." #: ../Doc/whatsnew/2.6.rst:2951 msgid "The :mod:`gopherlib` module has been removed." msgstr "El módulo :mod:`gopherlib` ha sido eliminado." #: ../Doc/whatsnew/2.6.rst:2953 msgid "" "The :mod:`MimeWriter` module and :mod:`mimify` module have been deprecated; " "use the :mod:`email` package instead." msgstr "" "El módulo :mod:`MimeWriter` y el módulo :mod:`mimify` han quedado obsoletos; " "utilice en su lugar el paquete :mod:`email`." #: ../Doc/whatsnew/2.6.rst:2957 msgid "" "The :mod:`md5` module has been deprecated; use the :mod:`hashlib` module " "instead." msgstr "" "El módulo :mod:`md5` ha quedado obsoleto; utilice en su lugar el módulo :mod:" "`hashlib`." #: ../Doc/whatsnew/2.6.rst:2960 msgid "" "The :mod:`posixfile` module has been deprecated; :func:`fcntl.lockf` " "provides better locking." msgstr "" "El módulo :mod:`posixfile` ha quedado obsoleto; :func:`fcntl.lockf` " "proporciona un mejor bloqueo." #: ../Doc/whatsnew/2.6.rst:2963 msgid "" "The :mod:`popen2` module has been deprecated; use the :mod:`subprocess` " "module." msgstr "" "El módulo :mod:`popen2` ha quedado obsoleto; utilice el módulo :mod:" "`subprocess`." #: ../Doc/whatsnew/2.6.rst:2966 msgid "The :mod:`rgbimg` module has been removed." msgstr "Se ha eliminado el módulo :mod:`rgbimg`." #: ../Doc/whatsnew/2.6.rst:2968 msgid "" "The :mod:`sets` module has been deprecated; it's better to use the built-in :" "class:`set` and :class:`frozenset` types." msgstr "" "El módulo :mod:`sets` ha quedado obsoleto; es mejor utilizar los tipos " "incorporados :class:`set` y :class:`frozenset`." #: ../Doc/whatsnew/2.6.rst:2971 msgid "" "The :mod:`sha` module has been deprecated; use the :mod:`hashlib` module " "instead." msgstr "" "El módulo :mod:`sha` ha quedado obsoleto; utilice en su lugar el módulo :mod:" "`hashlib`." #: ../Doc/whatsnew/2.6.rst:2979 msgid "Build and C API Changes" msgstr "Cambios en la API de construcción y C" #: ../Doc/whatsnew/2.6.rst:2981 msgid "Changes to Python's build process and to the C API include:" msgstr "" "Los cambios en el proceso de construcción de Python y en la API de C " "incluyen:" #: ../Doc/whatsnew/2.6.rst:2983 msgid "" "Python now must be compiled with C89 compilers (after 19 years!). This " "means that the Python source tree has dropped its own implementations of :c:" "func:`!memmove` and :c:func:`!strerror`, which are in the C89 standard " "library." msgstr "" "Python ahora debe ser compilado con compiladores C89 (¡después de 19 " "años!). Esto significa que el árbol de fuentes de Python ha abandonado sus " "propias implementaciones de :c:func:`!memmove` y :c:func:`!strerror`, que " "están en la biblioteca estándar de C89." #: ../Doc/whatsnew/2.6.rst:2988 msgid "" "Python 2.6 can be built with Microsoft Visual Studio 2008 (version 9.0), and " "this is the new default compiler. See the :file:`PCbuild` directory for the " "build files. (Implemented by Christian Heimes.)" msgstr "" "Python 2.6 puede ser construido con Microsoft Visual Studio 2008 (versión " "9.0), y este es el nuevo compilador por defecto. Ver el directorio :file:" "`PCbuild` para los archivos de construcción. (Implementado por Christian " "Heimes)" #: ../Doc/whatsnew/2.6.rst:2993 msgid "" "On Mac OS X, Python 2.6 can be compiled as a 4-way universal build. The :" "program:`configure` script can take a :option:`!--with-universal-archs=[32-" "bit|64-bit|all]` switch, controlling whether the binaries are built for 32-" "bit architectures (x86, PowerPC), 64-bit (x86-64 and PPC-64), or both. " "(Contributed by Ronald Oussoren.)" msgstr "" "En Mac OS X, Python 2.6 puede ser compilado como una construcción universal " "de 4 vías. El script :program:`configure` puede tomar una opción :`!--with-" "universal-archs=[32-bit|64-bit|all]`, controlando si los binarios se " "construyen para arquitecturas de 32 bits (x86, PowerPC), 64 bits (x86-64 y " "PPC-64), o ambas. (Contribución de Ronald Oussoren)" #: ../Doc/whatsnew/2.6.rst:3000 msgid "" "The BerkeleyDB module now has a C API object, available as ``bsddb.db." "api``. This object can be used by other C extensions that wish to use the :" "mod:`bsddb` module for their own purposes. (Contributed by Duncan Grisby.)" msgstr "" "El módulo BerkeleyDB tiene ahora un objeto C API, disponible como ``bsddb.db." "api``. Este objeto puede ser utilizado por otras extensiones de C que " "deseen utilizar el módulo :mod:`bsddb` para sus propios fines. (Contribución " "de Duncan Grisby)" #: ../Doc/whatsnew/2.6.rst:3005 msgid "" "The new buffer interface, previously described in `the PEP 3118 section " "<#pep-3118-revised-buffer-protocol>`__, adds :c:func:`PyObject_GetBuffer` " "and :c:func:`PyBuffer_Release`, as well as a few other functions." msgstr "" "La nueva interfaz del buffer, descrita previamente en `la sección PEP 3118 " "<#pep-3118-revised-buffer-protocol>`__, añade :c:func:`PyObject_GetBuffer` " "y :c:func:`PyBuffer_Release`, así como algunas otras funciones." #: ../Doc/whatsnew/2.6.rst:3010 msgid "" "Python's use of the C stdio library is now thread-safe, or at least as " "thread-safe as the underlying library is. A long-standing potential bug " "occurred if one thread closed a file object while another thread was reading " "from or writing to the object. In 2.6 file objects have a reference count, " "manipulated by the :c:func:`!PyFile_IncUseCount` and :c:func:`!" "PyFile_DecUseCount` functions. File objects can't be closed unless the " "reference count is zero. :c:func:`!PyFile_IncUseCount` should be called " "while the GIL is still held, before carrying out an I/O operation using the " "``FILE *`` pointer, and :c:func:`!PyFile_DecUseCount` should be called " "immediately after the GIL is re-acquired. (Contributed by Antoine Pitrou and " "Gregory P. Smith.)" msgstr "" "El uso que hace Python de la biblioteca stdio de C es ahora seguro para los " "hilos, o al menos tan seguro como la biblioteca subyacente. Un error " "potencial de larga data ocurría si un hilo cerraba un objeto de archivo " "mientras otro hilo estaba leyendo o escribiendo en el objeto. En la versión " "2.6 los objetos archivo tienen un contador de referencias, manipulado por " "las funciones :c:func:`!PyFile_IncUseCount` y :c:func:`!" "PyFile_DecUseCount`. Los objetos de archivo no pueden cerrarse a menos que " "el recuento de referencias sea cero. :c:func:`!PyFile_IncUseCount` debe " "llamarse mientras se mantiene el GIL, antes de realizar una operación de E/S " "utilizando el puntero ``FILE *``, y :c:func:`!PyFile_DecUseCount` debe " "llamarse inmediatamente después de recuperar el GIL. (Contribución de " "Antoine Pitrou y Gregory P. Smith)" #: ../Doc/whatsnew/2.6.rst:3023 msgid "" "Importing modules simultaneously in two different threads no longer " "deadlocks; it will now raise an :exc:`ImportError`. A new API function, :c:" "func:`PyImport_ImportModuleNoBlock`, will look for a module in ``sys." "modules`` first, then try to import it after acquiring an import lock. If " "the import lock is held by another thread, an :exc:`ImportError` is raised. " "(Contributed by Christian Heimes.)" msgstr "" "Importar módulos simultáneamente en dos hilos diferentes ya no se bloquea; " "ahora lanzará un :exc:`ImportError`. Una nueva función de la API, :c:func:" "`PyImport_ImportModuleNoBlock`, buscará un módulo en ``sys.modules`` " "primero, y luego intentará importarlo después de adquirir un bloqueo de " "importación. Si el bloqueo de importación está en manos de otro hilo, se " "genera un :exc:`ImportError`. (Contribuido por Christian Heimes.)" #: ../Doc/whatsnew/2.6.rst:3031 msgid "" "Several functions return information about the platform's floating-point " "support. :c:func:`PyFloat_GetMax` returns the maximum representable " "floating point value, and :c:func:`PyFloat_GetMin` returns the minimum " "positive value. :c:func:`PyFloat_GetInfo` returns an object containing more " "information from the :file:`float.h` file, such as ``\"mant_dig\"`` (number " "of digits in the mantissa), ``\"epsilon\"`` (smallest difference between 1.0 " "and the next largest value representable), and several others. (Contributed " "by Christian Heimes; :issue:`1534`.)" msgstr "" "Varias funciones devuelven información sobre el soporte de punto flotante de " "la plataforma. :c:func:`PyFloat_GetMax` devuelve el máximo valor de punto " "flotante representable, y :c:func:`PyFloat_GetMin` devuelve el mínimo valor " "positivo. :c:func:`PyFloat_GetInfo` devuelve un objeto que contiene más " "información del fichero :file:`float.h`, como ``\"mant_dig\"`` (número de " "dígitos en la mantisa), ``\"epsilon\"`` (diferencia más pequeña entre 1.0 y " "el siguiente valor más grande representable), y varios otros. (Contribución " "de Christian Heimes; :issue:`1534`.)" #: ../Doc/whatsnew/2.6.rst:3042 msgid "" "C functions and methods that use :c:func:`PyComplex_AsCComplex` will now " "accept arguments that have a :meth:`__complex__` method. In particular, the " "functions in the :mod:`cmath` module will now accept objects with this " "method. This is a backport of a Python 3.0 change. (Contributed by Mark " "Dickinson; :issue:`1675423`.)" msgstr "" "Las funciones y métodos de C que utilizan :c:func:`PyComplex_AsCComplex` " "ahora aceptarán argumentos que tengan un método :meth:`__complex__`. En " "particular, las funciones del módulo :mod:`cmath` ahora aceptarán objetos " "con este método. Este es un retroceso de un cambio en Python 3.0. " "(Contribuido por Mark Dickinson; :issue:`1675423`.)" #: ../Doc/whatsnew/2.6.rst:3049 msgid "" "Python's C API now includes two functions for case-insensitive string " "comparisons, ``PyOS_stricmp(char*, char*)`` and ``PyOS_strnicmp(char*, " "char*, Py_ssize_t)``. (Contributed by Christian Heimes; :issue:`1635`.)" msgstr "" "La API de C de Python incluye ahora dos funciones para comparar cadenas sin " "distinción de mayúsculas y minúsculas, ``PyOS_stricmp(char*, char*)`` y " "``PyOS_strnicmp(char*, char*, Py_ssize_t)``. (Contribución de Christian " "Heimes; :issue:`1635`.)" #: ../Doc/whatsnew/2.6.rst:3054 msgid "" "Many C extensions define their own little macro for adding integers and " "strings to the module's dictionary in the ``init*`` function. Python 2.6 " "finally defines standard macros for adding values to a module, :c:macro:" "`PyModule_AddStringMacro` and :c:macro:`PyModule_AddIntMacro()`. " "(Contributed by Christian Heimes.)" msgstr "" "Muchas extensiones de C definen su propia macro para añadir enteros y " "cadenas al diccionario del módulo en la función ``init*``. Python 2.6 " "finalmente define macros estándar para añadir valores a un módulo, :c:macro:" "`PyModule_AddStringMacro` y :c:macro:`PyModule_AddIntMacro()`. " "(Contribución de Christian Heimes.)" #: ../Doc/whatsnew/2.6.rst:3061 msgid "" "Some macros were renamed in both 3.0 and 2.6 to make it clearer that they " "are macros, not functions. :c:macro:`!Py_Size()` became :c:macro:" "`Py_SIZE()`, :c:macro:`!Py_Type()` became :c:macro:`Py_TYPE()`, and :c:macro:" "`!Py_Refcnt()` became :c:macro:`Py_REFCNT()`. The mixed-case macros are " "still available in Python 2.6 for backward compatibility. (:issue:`1629`)" msgstr "" "Algunas macros han sido renombradas tanto en la 3.0 como en la 2.6 para " "dejar más claro que son macros y no funciones. :c:macro:`!Py_Size()` se " "convierte en :c:macro:`Py_SIZE()`, :c:macro:`!Py_Type()` se convierte en :c:" "macro:`Py_TYPE()`, y :c:macro:`!Py_Refcnt()` se convierte en :c:macro:" "`Py_REFCNT()`. Las macros de mayúsculas y minúsculas siguen estando " "disponibles en Python 2.6 por compatibilidad con versiones anteriores. (:" "issue:`1629`)" #: ../Doc/whatsnew/2.6.rst:3070 msgid "" "Distutils now places C extensions it builds in a different directory when " "running on a debug version of Python. (Contributed by Collin Winter; :issue:" "`1530959`.)" msgstr "" "Distutils ahora coloca las extensiones C que construye en un directorio " "diferente cuando se ejecuta en una versión de depuración de Python. " "(Contribución de Collin Winter; :issue:`1530959`.)" #: ../Doc/whatsnew/2.6.rst:3074 msgid "" "Several basic data types, such as integers and strings, maintain internal " "free lists of objects that can be re-used. The data structures for these " "free lists now follow a naming convention: the variable is always named " "``free_list``, the counter is always named ``numfree``, and a macro " "``Py_MAXFREELIST`` is always defined." msgstr "" "Varios tipos de datos básicos, como los enteros y las cadenas, mantienen " "listas internas de objetos libres que pueden reutilizarse. Las estructuras " "de datos para estas listas libres siguen ahora una convención de " "nomenclatura: la variable se llama siempre ``free_list``, el contador se " "llama siempre ``numfree``, y siempre se define una macro " "``Py_MAXFREELIST``" #: ../Doc/whatsnew/2.6.rst:3081 msgid "" "A new Makefile target, \"make patchcheck\", prepares the Python source tree " "for making a patch: it fixes trailing whitespace in all modified ``.py`` " "files, checks whether the documentation has been changed, and reports " "whether the :file:`Misc/ACKS` and :file:`Misc/NEWS` files have been updated. " "(Contributed by Brett Cannon.)" msgstr "" "Un nuevo objetivo de Makefile, \"make patchcheck\", prepara el árbol de " "fuentes de Python para hacer un parche: corrige los espacios en blanco al " "final de todos los archivos ``.py`` modificados, comprueba si la " "documentación ha sido cambiada, e informa si los archivos :file:`Misc/ACKS` " "y :file:`Misc/NEWS` han sido actualizados. (Contribuido por Brett Cannon.)" #: ../Doc/whatsnew/2.6.rst:3088 msgid "" "Another new target, \"make profile-opt\", compiles a Python binary using " "GCC's profile-guided optimization. It compiles Python with profiling " "enabled, runs the test suite to obtain a set of profiling results, and then " "compiles using these results for optimization. (Contributed by Gregory P. " "Smith.)" msgstr "" "Otro nuevo objetivo, \"make profile-opt\", compila un binario de Python " "utilizando la optimización guiada por perfiles de GCC. Compila Python con " "el perfil habilitado, ejecuta el conjunto de pruebas para obtener un " "conjunto de resultados de perfil, y luego compila usando estos resultados " "para la optimización. (Contribución de Gregory P. Smith)" #: ../Doc/whatsnew/2.6.rst:3097 msgid "Port-Specific Changes: Windows" msgstr "Cambios específicos en los puertos: Windows" #: ../Doc/whatsnew/2.6.rst:3099 msgid "" "The support for Windows 95, 98, ME and NT4 has been dropped. Python 2.6 " "requires at least Windows 2000 SP4." msgstr "" "Se ha eliminado el soporte para Windows 95, 98, ME y NT4. Python 2.6 " "requiere al menos Windows 2000 SP4." #: ../Doc/whatsnew/2.6.rst:3102 #, python-format msgid "" "The new default compiler on Windows is Visual Studio 2008 (version 9.0). The " "build directories for Visual Studio 2003 (version 7.1) and 2005 (version " "8.0) were moved into the PC/ directory. The new :file:`PCbuild` directory " "supports cross compilation for X64, debug builds and Profile Guided " "Optimization (PGO). PGO builds are roughly 10% faster than normal builds. " "(Contributed by Christian Heimes with help from Amaury Forgeot d'Arc and " "Martin von Löwis.)" msgstr "" "El nuevo compilador por defecto en Windows es Visual Studio 2008 (versión " "9.0). Los directorios de compilación para Visual Studio 2003 (versión 7.1) y " "2005 (versión 8.0) se han trasladado al directorio PC/. El nuevo directorio :" "file:`PCbuild` admite la compilación cruzada para X64, las compilaciones de " "depuración y la optimización guiada por perfil (PGO). Las compilaciones PGO " "son aproximadamente un 10% f más rápidas que las normales. (Contribuido por " "Christian Heimes con la ayuda de Amaury Forgeot d'Arc y Martin von Löwis)" #: ../Doc/whatsnew/2.6.rst:3110 msgid "" "The :mod:`msvcrt` module now supports both the normal and wide char variants " "of the console I/O API. The :func:`getwch` function reads a keypress and " "returns a Unicode value, as does the :func:`getwche` function. The :func:" "`putwch` function takes a Unicode character and writes it to the console. " "(Contributed by Christian Heimes.)" msgstr "" "El módulo :mod:`msvcrt` soporta ahora las variantes normal y wide char de la " "API de E/S de la consola. La función :func:`getwch` lee una pulsación de " "tecla y devuelve un valor Unicode, al igual que la función :func:`getwche`. " "La función :func:`putwch` toma un carácter Unicode y lo escribe en la " "consola. (Contribución de Christian Heimes)" #: ../Doc/whatsnew/2.6.rst:3117 msgid "" ":func:`os.path.expandvars` will now expand environment variables in the form " "\"%var%\", and \"~user\" will be expanded into the user's home directory " "path. (Contributed by Josiah Carlson; :issue:`957650`.)" msgstr "" ":func:`os.path.expandvars` ahora expandirá las variables de entorno de la " "forma \"%var%\", y \"~user\" se expandirá en la ruta del directorio personal " "del usuario. (Contribución de Josiah Carlson; :issue:`957650`.)" #: ../Doc/whatsnew/2.6.rst:3121 msgid "" "The :mod:`socket` module's socket objects now have an :meth:`ioctl` method " "that provides a limited interface to the :c:func:`WSAIoctl` system interface." msgstr "" "Los objetos socket del módulo :mod:`socket` tienen ahora un método :meth:" "`ioctl` que proporciona una interfaz limitada a la interfaz del sistema :c:" "func:`WSAIoctl`." #: ../Doc/whatsnew/2.6.rst:3125 msgid "" "The :mod:`_winreg` module now has a function, :func:" "`ExpandEnvironmentStrings`, that expands environment variable references " "such as ``%NAME%`` in an input string. The handle objects provided by this " "module now support the context protocol, so they can be used in :keyword:" "`with` statements. (Contributed by Christian Heimes.)" msgstr "" "El módulo :mod:`_winreg` tiene ahora una función, :func:" "`ExpandEnvironmentStrings`, que expande las referencias a variables de " "entorno como ``%NAME%`` en una cadena de entrada. Los objetos handle " "proporcionados por este módulo ahora soportan el protocolo de contexto, por " "lo que pueden ser utilizados en sentencias :keyword:`with`. (Contribuido por " "Christian Heimes.)" #: ../Doc/whatsnew/2.6.rst:3132 msgid "" ":mod:`_winreg` also has better support for x64 systems, exposing the :func:" "`DisableReflectionKey`, :func:`EnableReflectionKey`, and :func:" "`QueryReflectionKey` functions, which enable and disable registry reflection " "for 32-bit processes running on 64-bit systems. (:issue:`1753245`)" msgstr "" ":mod:`_winreg` también tiene un mejor soporte para los sistemas x64, " "exponiendo las funciones :func:`DisableReflectionKey`, :func:" "`EnableReflectionKey`, y :func:`QueryReflectionKey`, que habilitan y " "deshabilitan la reflexión del registro para los procesos de 32 bits que se " "ejecutan en sistemas de 64 bits. (:issue:`1753245`)" #: ../Doc/whatsnew/2.6.rst:3138 msgid "" "The :mod:`msilib` module's :class:`Record` object gained :meth:`GetInteger` " "and :meth:`GetString` methods that return field values as an integer or a " "string. (Contributed by Floris Bruynooghe; :issue:`2125`.)" msgstr "" "El objeto :class:`Record` del módulo :mod:`msilib` ha ganado los métodos :" "meth:`GetInteger` y :meth:`GetString` que devuelven los valores de los " "campos como un entero o una cadena. (Contribución de Floris Bruynooghe; :" "issue:`2125`.)" #: ../Doc/whatsnew/2.6.rst:3146 msgid "Port-Specific Changes: Mac OS X" msgstr "Cambios específicos en los puertos: Mac OS X" #: ../Doc/whatsnew/2.6.rst:3148 msgid "" "When compiling a framework build of Python, you can now specify the " "framework name to be used by providing the :option:`!--with-framework-name=` " "option to the :program:`configure` script." msgstr "" "Cuando se compila una estructura de Python, ahora se puede especificar el " "nombre de la estructura que se utilizará proporcionando la opción :option:" "`!--with-framework-name=` al script :program:`configure`." #: ../Doc/whatsnew/2.6.rst:3153 msgid "" "The :mod:`macfs` module has been removed. This in turn required the :func:" "`macostools.touched` function to be removed because it depended on the :mod:" "`macfs` module. (:issue:`1490190`)" msgstr "" "Se ha eliminado el módulo :mod:`macfs`. Esto, a su vez, ha requerido la " "eliminación de la función :func:`macostools.touched` porque dependía del " "módulo :mod:`macfs`. (:issue:`1490190`)" #: ../Doc/whatsnew/2.6.rst:3157 msgid "" "Many other Mac OS modules have been deprecated and will be removed in Python " "3.0: :mod:`_builtinSuites`, :mod:`aepack`, :mod:`aetools`, :mod:`aetypes`, :" "mod:`applesingle`, :mod:`appletrawmain`, :mod:`appletrunner`, :mod:" "`argvemulator`, :mod:`Audio_mac`, :mod:`autoGIL`, :mod:`Carbon`, :mod:" "`cfmfile`, :mod:`CodeWarrior`, :mod:`ColorPicker`, :mod:`EasyDialogs`, :mod:" "`Explorer`, :mod:`Finder`, :mod:`FrameWork`, :mod:`findertools`, :mod:`ic`, :" "mod:`icglue`, :mod:`icopen`, :mod:`macerrors`, :mod:`MacOS`, :mod:`macfs`, :" "mod:`macostools`, :mod:`macresource`, :mod:`MiniAEFrame`, :mod:`Nav`, :mod:" "`Netscape`, :mod:`OSATerminology`, :mod:`pimp`, :mod:`PixMapWrapper`, :mod:" "`StdSuites`, :mod:`SystemEvents`, :mod:`Terminal`, and :mod:" "`terminalcommand`." msgstr "" "Muchos otros módulos de Mac OS han quedado obsoletos y serán eliminados en " "Python 3.0: :mod:`_builtinSuites`, :mod:`aepack`, :mod:`aetools`, :mod:" "`aetypes`, :mod:`applesingle`, :mod:`appletrawmain`, :mod:`appletrunner`, :" "mod:`argvemulator`, :mod:`Audio_mac`, :mod:`autoGIL`, :mod:`Carbon`, :mod:" "`cfmfile`, :mod:`CodeWarrior`, :mod:`ColorPicker`, :mod:`EasyDialogs`, :mod:" "`Explorer`, :mod:`Finder`, :mod:`FrameWork`, :mod:`findertools`, :mod:`ic`, :" "mod:`icglue`, :mod:`icopen`, :mod:`macerrors`, :mod:`MacOS`, :mod:`macfs`, :" "mod:`macostools`, :mod:`macresource`, :mod:`MiniAEFrame`, :mod:`Nav`, :mod:" "`Netscape`, :mod:`OSATerminology`, :mod:`pimp`, :mod:`PixMapWrapper`, :mod:" "`StdSuites`, :mod:`SystemEvents`, :mod:`Terminal`, y :mod:`terminalcommand`." #: ../Doc/whatsnew/2.6.rst:3200 msgid "Port-Specific Changes: IRIX" msgstr "Cambios específicos en los puertos: IRIX" #: ../Doc/whatsnew/2.6.rst:3202 msgid "" "A number of old IRIX-specific modules were deprecated and will be removed in " "Python 3.0: :mod:`al` and :mod:`AL`, :mod:`cd`, :mod:`cddb`, :mod:" "`cdplayer`, :mod:`CL` and :mod:`cl`, :mod:`DEVICE`, :mod:`ERRNO`, :mod:" "`FILE`, :mod:`FL` and :mod:`fl`, :mod:`flp`, :mod:`fm`, :mod:`GET`, :mod:" "`GLWS`, :mod:`GL` and :mod:`gl`, :mod:`IN`, :mod:`IOCTL`, :mod:`jpeg`, :mod:" "`panelparser`, :mod:`readcd`, :mod:`SV` and :mod:`sv`, :mod:`torgb`, :mod:" "`videoreader`, and :mod:`WAIT`." msgstr "" "Una serie de antiguos módulos específicos de IRIX fueron obsoletos y serán " "eliminados en Python 3.0: :mod:`al` y :mod:`AL`, :mod:`cd`, :mod:`cddb`, :" "mod:`cdplayer`, :mod:`CL` y :mod:`cl`, :mod:`DEVICE`, :mod:`ERRNO`, :mod:" "`FILE`, :mod:`FL` y :mod:`fl`, :mod:`flp`, :mod:`fm`, :mod:`GET`, :mod:" "`GLWS`, :mod:`GL` y :mod:`gl`, :mod:`IN`, :mod:`IOCTL`, :mod:`jpeg`, :mod:" "`panelparser`, :mod:`readcd`, :mod:`SV` y :mod:`sv`, :mod:`torgb`, :mod:" "`videoreader` y :mod:`WAIT`." #: ../Doc/whatsnew/2.6.rst:3232 msgid "Porting to Python 2.6" msgstr "Adaptación a Python 2.6" #: ../Doc/whatsnew/2.6.rst:3234 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code:" msgstr "" "Esta sección enumera los cambios descritos anteriormente y otras " "correcciones de errores que pueden requerir cambios en su código:" #: ../Doc/whatsnew/2.6.rst:3237 msgid "" "Classes that aren't supposed to be hashable should set ``__hash__ = None`` " "in their definitions to indicate the fact." msgstr "" "Las clases que no se supone que son hashable deben establecer ``__hash__ = " "None`` en sus definiciones para indicar el hecho." #: ../Doc/whatsnew/2.6.rst:3244 msgid "" "The :meth:`__init__` method of :class:`collections.deque` now clears any " "existing contents of the deque before adding elements from the iterable. " "This change makes the behavior match ``list.__init__()``." msgstr "" "El método :meth:`__init__` de :class:`collections.deque` ahora borra " "cualquier contenido existente del deque antes de añadir elementos del " "iterable. Este cambio hace que el comportamiento coincida con ``list." "__init__()``." #: ../Doc/whatsnew/2.6.rst:3249 msgid "" ":meth:`object.__init__` previously accepted arbitrary arguments and keyword " "arguments, ignoring them. In Python 2.6, this is no longer allowed and will " "result in a :exc:`TypeError`. This will affect :meth:`__init__` methods " "that end up calling the corresponding method on :class:`object` (perhaps " "through using :func:`super`). See :issue:`1683368` for discussion." msgstr "" ":meth:`object.__init__` anteriormente aceptaba argumentos arbitrarios y " "argumentos de palabras clave, ignorándolos. En Python 2.6, esto ya no está " "permitido y resultará en un :exc:`TypeError`. Esto afectará a los métodos :" "meth:`__init__` que acaben llamando al método correspondiente en :class:" "`object` (quizás mediante el uso de :func:`super`). Ver :issue:`1683368` " "para su discusión." #: ../Doc/whatsnew/2.6.rst:3256 msgid "" "The :class:`Decimal` constructor now accepts leading and trailing whitespace " "when passed a string. Previously it would raise an :exc:`InvalidOperation` " "exception. On the other hand, the :meth:`create_decimal` method of :class:" "`Context` objects now explicitly disallows extra whitespace, raising a :exc:" "`ConversionSyntax` exception." msgstr "" "El constructor :class:`Decimal` ahora acepta los espacios en blanco " "iniciales y finales cuando se le pasa una cadena. Antes lanzaba una " "excepción :exc:`InvalidOperation`. Por otro lado, el método :meth:" "`create_decimal` de los objetos :class:`Context` ahora desestima " "explícitamente los espacios en blanco adicionales, lanzando una excepción :" "exc:`ConversionSyntax`." #: ../Doc/whatsnew/2.6.rst:3263 msgid "" "Due to an implementation accident, if you passed a file path to the built-" "in :func:`__import__` function, it would actually import the specified " "file. This was never intended to work, however, and the implementation now " "explicitly checks for this case and raises an :exc:`ImportError`." msgstr "" "Debido a un accidente de implementación, si se pasaba una ruta de archivo a " "la función incorporada :func:`__import__`, ésta importaría realmente el " "archivo especificado. Sin embargo, nunca se pretendió que esto funcionara, " "y la implementación ahora comprueba explícitamente este caso y lanza un :exc:" "`ImportError`." #: ../Doc/whatsnew/2.6.rst:3269 msgid "" "C API: the :c:func:`PyImport_Import` and :c:func:`PyImport_ImportModule` " "functions now default to absolute imports, not relative imports. This will " "affect C extensions that import other modules." msgstr "" "API C: las funciones :c:func:`PyImport_Import` y :c:func:" "`PyImport_ImportModule` ahora se ajustan por defecto a importaciones " "absolutas, no a importaciones relativas. Esto afectará a las extensiones de " "C que importen otros módulos." #: ../Doc/whatsnew/2.6.rst:3273 msgid "" "C API: extension data types that shouldn't be hashable should define their " "``tp_hash`` slot to :c:func:`PyObject_HashNotImplemented`." msgstr "" "API C: los tipos de datos de extensión que no deben ser hashable deben " "definir su ranura ``tp_hash`` a :c:func:`PyObject_HashNotImplemented`." #: ../Doc/whatsnew/2.6.rst:3277 msgid "" "The :mod:`socket` module exception :exc:`socket.error` now inherits from :" "exc:`IOError`. Previously it wasn't a subclass of :exc:`StandardError` but " "now it is, through :exc:`IOError`. (Implemented by Gregory P. Smith; :issue:" "`1706815`.)" msgstr "" "La excepción del módulo :mod:`socket` :exc:`socket.error` ahora hereda de :" "exc:`IOError`. Anteriormente no era una subclase de :exc:`StandardError` " "pero ahora lo es, a través de :exc:`IOError`. (Implementado por Gregory P. " "Smith; :issue:`1706815`.)" #: ../Doc/whatsnew/2.6.rst:3282 msgid "" "The :mod:`xmlrpclib` module no longer automatically converts :class:" "`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib." "DateTime` type; the conversion semantics were not necessarily correct for " "all applications. Code using :mod:`xmlrpclib` should convert :class:`date` " "and :class:`~datetime.time` instances. (:issue:`1330538`)" msgstr "" "El módulo :mod:`xmlrpclib` ya no convierte automáticamente las instancias :" "class:`datetime.date` y :class:`datetime.time` al tipo :class:`xmlrpclib." "DateTime`; la semántica de conversión no era necesariamente correcta para " "todas las aplicaciones. El código que utiliza :mod:`xmlrpclib` debe " "convertir las instancias :class:`date` y :class:`~datetime.time`. (:issue:" "`1330538`)" #: ../Doc/whatsnew/2.6.rst:3289 msgid "" "(3.0-warning mode) The :class:`Exception` class now warns when accessed " "using slicing or index access; having :class:`Exception` behave like a tuple " "is being phased out." msgstr "" "(Modo de advertencia 3.0) La clase :class:`Exception` ahora advierte cuando " "se accede utilizando el acceso a la rebanada o al índice; tener :class:" "`Exception` se comporta como una tupla está siendo eliminado." #: ../Doc/whatsnew/2.6.rst:3293 msgid "" "(3.0-warning mode) inequality comparisons between two dictionaries or two " "objects that don't implement comparison methods are reported as warnings. " "``dict1 == dict2`` still works, but ``dict1 < dict2`` is being phased out." msgstr "" "(modo de advertencia 3.0) las comparaciones de desigualdad entre dos " "diccionarios o dos objetos que no implementan métodos de comparación se " "reportan como advertencias. ``dict1 == dict2`` sigue funcionando, pero " "``dict1 < dict2`` está siendo eliminado." #: ../Doc/whatsnew/2.6.rst:3298 msgid "" "Comparisons between cells, which are an implementation detail of Python's " "scoping rules, also cause warnings because such comparisons are forbidden " "entirely in 3.0." msgstr "" "Las comparaciones entre celdas, que son un detalle de implementación de las " "reglas de alcance de Python, también causan advertencias porque tales " "comparaciones están prohibidas por completo en 3.0." #: ../Doc/whatsnew/2.6.rst:3308 msgid "Acknowledgements" msgstr "Agradecimientos" #: ../Doc/whatsnew/2.6.rst:3310 msgid "" "The author would like to thank the following people for offering " "suggestions, corrections and assistance with various drafts of this article: " "Georg Brandl, Steve Brown, Nick Coghlan, Ralph Corderoy, Jim Jewett, Kent " "Johnson, Chris Lambacher, Martin Michlmayr, Antoine Pitrou, Brian Warner." msgstr "" "El autor desea agradecer a las siguientes personas sus sugerencias, " "correcciones y ayuda en varios borradores de este artículo: Georg Brandl, " "Steve Brown, Nick Coghlan, Ralph Corderoy, Jim Jewett, Kent Johnson, Chris " "Lambacher, Martin Michlmayr, Antoine Pitrou, Brian Warner." #: ../Doc/whatsnew/2.6.rst:1072 msgid "universal newlines" msgstr "nuevas líneas universales" #: ../Doc/whatsnew/2.6.rst:1072 msgid "What's new" msgstr "Qué hay de nuevo"