diff --git a/dictionaries/whatsnew_2.4.txt b/dictionaries/whatsnew_2.4.txt index e9fc5a89d0..b20987dca3 100644 --- a/dictionaries/whatsnew_2.4.txt +++ b/dictionaries/whatsnew_2.4.txt @@ -27,14 +27,28 @@ Urtubia Vasiliev Yves against +alacazam +appendleft +arbcd +black +blue +cmp +colormap core +creationflags +deco didn differs +dpkg earlier either euc expression +finder +followed gbk +getcontext +ghi hkscs independent iterated @@ -44,14 +58,34 @@ jisx johab jp kr +letters +levelname +lower matched +most +newlines optional +popleft +prec +recent replicate +require returns shift something specified +sqrt +startupinfo +sts +substitute symbolic +tcsh +tee tested +transpose +traps whether will +wxy +xrange +yellow diff --git a/whatsnew/2.4.po b/whatsnew/2.4.po index 8f95782136..b6a770a343 100644 --- a/whatsnew/2.4.po +++ b/whatsnew/2.4.po @@ -13,12 +13,12 @@ msgstr "" "POT-Creation-Date: 2024-11-21 16:38-0300\n" "PO-Revision-Date: 2021-10-28 11:57+0200\n" "Last-Translator: \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\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.16.0\n" #: ../Doc/whatsnew/2.4.rst:3 @@ -130,6 +130,31 @@ msgid "" ">>> a\n" "set(['a', 'c', 'b', 'd', 'r', 'w', 'y', 'z'])" msgstr "" +">>> a = set('abracadabra') # formar un conjunto a partir de una cadena\n" +">>> 'z' en a # prueba rápida de pertenencia\n" +"Falso\n" +">>> a # letras únicas en a\n" +"set(['a', 'r', 'b', 'c', 'd'])\n" +">>> ''.join(a) # convertir de nuevo a una cadena\n" +"'arbcd'\n" +"\n" +">>> b = set('alacazam') # formar un segundo conjunto\n" +">>> a - b # letras en a pero no en b\n" +"set(['r', 'd', 'b'])\n" +">>> a | b # letras en a o b\n" +"set(['a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'])\n" +">>> a & b # letras en a y b\n" +"set(['a', 'c'])\n" +">>> a ^ b # letras en a o b pero no en ambos\n" +"set(['r', 'd', 'b', 'm', 'z', 'l'])\n" +"\n" +">>> a.add('z') # agrega un nuevo elemento\n" +">>> a.update('wxy') # agrega varios elementos nuevos\n" +">>> a\n" +"set(['a', 'c', 'b', 'd', 'r', 'w', 'y', 'x', 'z'])\n" +">>> a.remove('x') # saca un elemento\n" +">>> a\n" +"set(['a', 'c', 'b', 'd', 'r', 'w', 'y', 'z'])" #: ../Doc/whatsnew/2.4.rst:71 msgid "" @@ -239,6 +264,9 @@ msgid "" "for link in links:\n" " ..." msgstr "" +"links = [enlace para enlace en get_all_links() si no es link.followed]\n" +"para enlace en enlaces:\n" +"..." #: ../Doc/whatsnew/2.4.rst:129 msgid "instead of ::" @@ -251,6 +279,10 @@ msgid "" " continue\n" " ..." msgstr "" +"para el enlace en get_all_links():\n" +"si link.followed:\n" +"continúa\n" +"..." #: ../Doc/whatsnew/2.4.rst:136 msgid "" @@ -280,6 +312,9 @@ msgid "" "for link in links:\n" " ..." msgstr "" +"links = (enlace para enlace en get_all_links() si no se sigue el enlace)\n" +"para enlace en enlaces:\n" +"..." #: ../Doc/whatsnew/2.4.rst:148 msgid "" @@ -296,7 +331,7 @@ msgstr "" #: ../Doc/whatsnew/2.4.rst:153 msgid "print sum(obj.count for obj in list_all_objects())" -msgstr "" +msgstr "imprimir suma(obj.count para obj en list_all_objects())" #: ../Doc/whatsnew/2.4.rst:155 msgid "" @@ -354,6 +389,8 @@ msgid "" ">>> '%(page)i: %(title)s' % {'page':2, 'title': 'The Best of Times'}\n" "'2: The Best of Times'" msgstr "" +">>> '%(page)i: %(title)s' % {'page':2, 'title': 'Lo mejor de los tiempos'}\n" +"'2: Lo mejor de los tiempos'" #: ../Doc/whatsnew/2.4.rst:183 msgid "" @@ -393,6 +430,10 @@ msgid "" ">>> t.substitute({'page':2, 'title': 'The Best of Times'})\n" "'2: The Best of Times'" msgstr "" +">>> import string\n" +">>> t = string.Template('$page: $title')\n" +">>> t.substitute({'page':2, 'title': 'Lo mejor de los tiempos'})\n" +"'2: Lo mejor de los tiempos'" #: ../Doc/whatsnew/2.4.rst:200 msgid "" @@ -410,6 +451,9 @@ msgid "" ">>> t.safe_substitute({'page':3})\n" "'3: $title'" msgstr "" +">>> t = string.Template('$página: $título')\n" +">>> t.safe_substitute({'página':3})\n" +"'3: $título'" #: ../Doc/whatsnew/2.4.rst:211 msgid ":pep:`292` - Simpler String Substitutions" @@ -448,6 +492,12 @@ msgid "" "\n" " meth = classmethod(meth) # Rebind name to wrapped-up class method" msgstr "" +"clase C:\n" +"def meth (cls):\n" +"...\n" +"\n" +"meth = classmethod(meth) # Volver a vincular el nombre al método de clase " +"encapsulado" #: ../Doc/whatsnew/2.4.rst:233 msgid "" @@ -501,6 +551,11 @@ msgid "" " def meth (cls):\n" " ..." msgstr "" +"clase C:\n" +"\n" +"@classmethod\n" +"def meth (cls):\n" +"..." #: ../Doc/whatsnew/2.4.rst:256 msgid "" @@ -518,6 +573,11 @@ msgid "" "def f ():\n" " ..." msgstr "" +"@A\n" +"@B\n" +"@C\n" +"def f():\n" +"..." #: ../Doc/whatsnew/2.4.rst:265 msgid "It's equivalent to the following pre-decorator code::" @@ -528,6 +588,8 @@ msgid "" "def f(): ...\n" "f = A(B(C(f)))" msgstr "" +"definición f(): ...\n" +"f = A(B(C(f)))" #: ../Doc/whatsnew/2.4.rst:270 msgid "" @@ -575,6 +637,18 @@ msgid "" "'decorated'\n" ">>>" msgstr "" +">>> def deco(func):\n" +"... func.attr = 'decorado'\n" +"... return func\n" +"...\n" +">>> @deco\n" +"... def f(): pass\n" +"...\n" +">>> f\n" +"\n" +">>> f.attr\n" +"'decorado'\n" +">>>" #: ../Doc/whatsnew/2.4.rst:295 msgid "" @@ -601,6 +675,20 @@ msgid "" "def p2(arg):\n" " print arg*2" msgstr "" +"def require_int (función):\n" +"def contenedor (arg):\n" +"assert isinstance(arg, int)\n" +"return func(arg)\n" +"\n" +"return contenedor\n" +"\n" +"@require_int\n" +"def p1 (arg):\n" +"print arg\n" +"\n" +"@require_int\n" +"def p2(arg):\n" +"print arg*2" #: ../Doc/whatsnew/2.4.rst:313 msgid "" @@ -631,6 +719,9 @@ msgid "" "_deco = C(args)\n" "f = A(B(_deco(f)))" msgstr "" +"def f(): ...\n" +"_deco = C(argumentos)\n" +"f = A(B(_deco(f)))" #: ../Doc/whatsnew/2.4.rst:325 msgid "" @@ -640,17 +731,17 @@ msgstr "" "muy dificultoso." #: ../Doc/whatsnew/2.4.rst:327 -#, fuzzy msgid "" "A small related change makes the :attr:`func_name ` " "attribute of functions writable. This attribute is used to display function " "names in tracebacks, so decorators should change the name of any new " "function that's constructed and returned." msgstr "" -"Un pequeño cambio relacionado hace el atributo :attr:`func_name` de la " -"función modificable. Este atributo es usado para desplegar nombres de " -"funciones en el rastreo, entonces los decoradores cambia el nombre de " -"cualquier nueva función que es construida y retornada." +"Un pequeño cambio relacionado hace que el atributo :attr:`func_name " +"` de las funciones sea escribible. Este atributo se " +"utiliza para mostrar los nombres de las funciones en los seguimientos, por " +"lo que los decoradores deben cambiar el nombre de cualquier función nueva " +"que se construya y devuelva." #: ../Doc/whatsnew/2.4.rst:339 msgid ":pep:`318` - Decorators for Functions, Methods and Classes" @@ -696,6 +787,12 @@ msgid "" "2\n" "1" msgstr "" +">>> para i en reversed(xrange(1,4)):\n" +"... imprimir i\n" +"...\n" +"3\n" +"2\n" +"1" #: ../Doc/whatsnew/2.4.rst:360 msgid "" @@ -725,6 +822,12 @@ msgid "" "root:*:0:0:System Administrator:/var/root:/bin/tcsh\n" " ..." msgstr "" +">>> input = open('/etc/passwd', 'r')\n" +">>> for line in reversed(list(input)):\n" +"... print line\n" +"...\n" +"root:*:0:0:Administrador del sistema:/var/root:/bin/tcsh\n" +"..." #: ../Doc/whatsnew/2.4.rst:377 msgid ":pep:`322` - Reverse Iteration" @@ -739,7 +842,6 @@ msgid "PEP 324: New subprocess Module" msgstr "PEP 324: Nuevo módulo de subproceso" #: ../Doc/whatsnew/2.4.rst:386 -#, fuzzy msgid "" "The standard library provides a number of ways to execute a subprocess, " "offering different features and different levels of complexity. ``os." @@ -750,26 +852,25 @@ msgid "" "naming is confusing. The :mod:`subprocess` module cleans this up, " "providing a unified interface that offers all the features you might need." msgstr "" -"La librería estándar provee un cierto número de formas de ejecutar un " -"subproceso, ofreciendo diferentes funcionalidades y diferentes niveles de " -"complejidad. ``os.system(command)`` es fácil de usar pero lento (esto corre " -"un proceso a nivel de interprete de comandos)y peligroso (se tiene que ser " -"cuidadoso con no considerar los metacaracteres usados en el intérprete)\n" -"El módulo :mod:`popen2` ofrece clases que pueden capturar la salida estándar " -"y el error estándar del subproceso, pero el nombre puede ser confuso.\n" -"El módulo :mod:`subprocess` deja esto mas claro proveyendo una interface " -"unificada que ofrece todas las funcionalidades que usted necesita." +"La biblioteca estándar proporciona varias formas de ejecutar un subproceso, " +"ofreciendo distintas funciones y distintos niveles de complejidad. ``os." +"system(command)`` es fácil de usar, pero lento (ejecuta un proceso de shell " +"que ejecuta el comando) y peligroso (hay que tener cuidado con el escape de " +"los metacaracteres del shell). El módulo :mod:`!popen2` ofrece clases que " +"pueden capturar la salida estándar y el error estándar del subproceso, pero " +"la nomenclatura es confusa. El módulo :mod:`subprocess` soluciona este " +"problema, proporcionando una interfaz unificada que ofrece todas las " +"funciones que se pueden necesitar." #: ../Doc/whatsnew/2.4.rst:395 -#, fuzzy msgid "" "Instead of :mod:`!popen2`'s collection of classes, :mod:`subprocess` " "contains a single class called :class:`subprocess.Popen` whose constructor " "supports a number of different keyword arguments. ::" msgstr "" -"En vez de :mod:`popen2` que es una colección de clases el :mod:`subprocess` " -"contiene una sola clase llamada :class:`Popen` cuyo constructor soporta un " -"número de diferentes argumentos de palabra clave:" +"En vez de :mod:`!popen2` que es una colección de clases el :mod:`subprocess` " +"contiene una sola clase llamada :class:`subprocess.Popen` cuyo constructor " +"soporta un número de diferentes argumentos de palabra clave:" #: ../Doc/whatsnew/2.4.rst:399 msgid "" @@ -779,6 +880,11 @@ msgid "" " cwd=None, env=None, universal_newlines=False,\n" " startupinfo=None, creationflags=0):" msgstr "" +"clase Popen(args, bufsize=0, ejecutable=Ninguno,\n" +"stdin=Ninguno, stdout=Ninguno, stderr=Ninguno,\n" +"preexec_fn=Ninguno, close_fds=False, shell=False,\n" +"cwd=Ninguno, env=Ninguno, universal_newlines=False,\n" +"startupinfo=Ninguno, creationflags=0):" #: ../Doc/whatsnew/2.4.rst:405 msgid "" @@ -884,6 +990,13 @@ msgid "" " # dpkg returned an error\n" " ..." msgstr "" +"sts = subprocess.call(['dpkg', '-i', '/tmp/new-package.deb'])\n" +"if sts == 0:\n" +"# Éxito\n" +"...\n" +"else:\n" +"# dpkg devolvió un error\n" +"..." #: ../Doc/whatsnew/2.4.rst:452 msgid "" @@ -897,7 +1010,7 @@ msgstr "" #: ../Doc/whatsnew/2.4.rst:456 msgid "sts = subprocess.call('dpkg -i /tmp/new-package.deb', shell=True)" -msgstr "" +msgstr "sts = subproceso.call('dpkg -i /tmp/nuevo-paquete.deb', shell=True)" #: ../Doc/whatsnew/2.4.rst:458 msgid "" @@ -1030,6 +1143,8 @@ msgid "" ">>> 1.1\n" "1.1000000000000001" msgstr "" +">>> 1.1\n" +"1.1000000000000001" #: ../Doc/whatsnew/2.4.rst:521 msgid "" @@ -1106,6 +1221,11 @@ msgid "" ">>> decimal.Decimal(\"1.1\")\n" "Decimal(\"1.1\")" msgstr "" +">>> importar decimal\n" +">>> decimal.Decimal(1972)\n" +"Decimal(\"1972\")\n" +">>> decimal.Decimal(\"1.1\")\n" +"Decimal(\"1.1\")" #: ../Doc/whatsnew/2.4.rst:556 msgid "" @@ -1120,6 +1240,8 @@ msgid "" ">>> decimal.Decimal((1, (1, 4, 7, 5), -2))\n" "Decimal(\"-14.75\")" msgstr "" +">>> decimal.Decimal((1, (1, 4, 7, 5), -2))\n" +"Decimal(\"-14,75\")" #: ../Doc/whatsnew/2.4.rst:562 msgid "" @@ -1154,6 +1276,11 @@ msgid "" ">>> decimal.Decimal('%.12f' % f)\n" "Decimal(\"1.100000000000\")" msgstr "" +">>> f = 1,1\n" +">>> decimal.Decimal(str(f))\n" +"Decimal(\"1,1\")\n" +">>> decimal.Decimal('%.12f' % f)\n" +"Decimal(\"1,100000000000\")" #: ../Doc/whatsnew/2.4.rst:578 msgid "" @@ -1184,6 +1311,20 @@ msgid "" " ...\n" "decimal.InvalidOperation: x ** (non-integer)" msgstr "" +">>> a = decimal.Decimal('35,72')\n" +">>> b = decimal.Decimal('1,73')\n" +">>> a+b\n" +"Decimal(\"37,45\")\n" +">>> a-b\n" +"Decimal(\"33,99\")\n" +">>> a*b\n" +"Decimal(\"61.7956\")\n" +">>> a/b\n" +"Decimal(\"20.64739884393063583815028902\")\n" +">>> a XASDF00b\n" +"Traceback (most recent call last):\n" +" ...\n" +"decimal.InvalidOperation: x ** (no entero)" #: ../Doc/whatsnew/2.4.rst:599 msgid "" @@ -1204,6 +1345,14 @@ msgid "" "types.\n" ">>>" msgstr "" +">>> a + 4\n" +"Decimal(\"39.72\")\n" +">>> a + 4.5\n" +"Traceback (última llamada más reciente):\n" +"...\n" +"TypeError: Solo puede interactuar con Decimal con tipos de datos int, long o " +"Decimal.\n" +">>>" #: ../Doc/whatsnew/2.4.rst:610 msgid "" @@ -1228,6 +1377,12 @@ msgid "" ">>> cmath.sqrt(-d)\n" "351364.18288201344j" msgstr "" +">>> importar matemáticas, cmath\n" +">>> d = decimal.Decimal('123456789012.345')\n" +">>> matemáticas.sqrt(d)\n" +"351364.18288201344\n" +">>> cmath.sqrt(-d)\n" +"351364.18288201344j" #: ../Doc/whatsnew/2.4.rst:623 msgid "" @@ -1244,6 +1399,8 @@ msgid "" ">>> d.sqrt()\n" "Decimal(\"351364.1828820134592177245001\")" msgstr "" +">>> d.sqrt()\n" +"Decimal(\"351364.1828820134592177245001\")" #: ../Doc/whatsnew/2.4.rst:632 msgid "The :class:`Context` type" @@ -1306,6 +1463,13 @@ msgid "" ">>> decimal.Decimal(1) / decimal.Decimal(7)\n" "Decimal(\"0.142857143\")" msgstr "" +">>> decimal.getcontext().prec\n" +"28\n" +">>> decimal.Decimal(1) / decimal.Decimal(7)\n" +"Decimal(\"0,1428571428571428571428571429\")\n" +">>> decimal.getcontext().prec = 9\n" +">>> decimal.Decimal(1) / decimal.Decimal(7)\n" +"Decimal(\"0,142857143\")" #: ../Doc/whatsnew/2.4.rst:661 msgid "" @@ -1328,6 +1492,14 @@ msgid "" "Decimal(\"Infinity\")\n" ">>>" msgstr "" +">>> decimal.Decimal(1) / decimal.Decimal(0)\n" +"Traceback (última llamada más reciente):\n" +"...\n" +"decimal.DivisionByZero: x / 0\n" +">>> decimal.getcontext().traps[decimal.DivisionByZero] = False\n" +">>> decimal.Decimal(1) / decimal.Decimal(0)\n" +"Decimal(\"Infinito\")\n" +">>>" #: ../Doc/whatsnew/2.4.rst:674 msgid "" @@ -1362,6 +1534,8 @@ msgid "" "`http://www.lahey.com/float.htm `__" msgstr "" +"`http://www.lahey.com/float.htm `__" #: ../Doc/whatsnew/2.4.rst:688 msgid "" @@ -1372,9 +1546,8 @@ msgstr "" "inexactitud de los puntos flotantes pueden causar." #: ../Doc/whatsnew/2.4.rst:693 -#, fuzzy msgid "https://speleotrove.com/decimal/" -msgstr "http://speleotrove.com/decimal/" +msgstr "https://speleotrove.com/decimal/" #: ../Doc/whatsnew/2.4.rst:692 msgid "" @@ -1415,6 +1588,10 @@ msgid "" " CGIXMLRPCRequestHandler,\\\n" " resolve_dotted_attribute" msgstr "" +"de SimpleXMLRPCServer importar SimpleXMLRPCServer,\\\n" +"SimpleXMLRPCRequestHandler,\\\n" +"CGIXMLRPCRequestHandler,\\\n" +"resolve_dotted_attribute" #: ../Doc/whatsnew/2.4.rst:713 msgid "" @@ -1434,6 +1611,10 @@ msgid "" " CGIXMLRPCRequestHandler,\n" " resolve_dotted_attribute)" msgstr "" +"from SimpleXMLRPCServer import (SimpleXMLRPCServer,\n" +" SimpleXMLRPCRequestHandler,\n" +" CGIXMLRPCRequestHandler,\n" +" resolve_dotted_attribute)" #: ../Doc/whatsnew/2.4.rst:722 msgid "" @@ -1518,7 +1699,6 @@ msgstr "" "`double` en una cadena ASCII." #: ../Doc/whatsnew/2.4.rst:759 -#, fuzzy msgid "" "The code for these functions came from the GLib library (`https://developer-" "old.gnome.org/glib/2.26/ `__), cuyos " +"desarrolladores amablemente renovaron la licencia de las funciones " +"relevantes y las donaron a la Python Software Foundation. El módulo :mod:" +"`locale` ahora puede cambiar la configuración regional numérica, lo que " +"permite que extensiones como GTK+ produzcan los resultados correctos." #: ../Doc/whatsnew/2.4.rst:768 msgid ":pep:`331` - Locale-Independent Float/String Conversions" @@ -1626,6 +1807,10 @@ msgid "" "'www.python.org'.rsplit('.', 1)\n" "['www.python', 'org']" msgstr "" +">>> 'www.python.org'.split('.', 1)\n" +"['www', 'python.org']\n" +"'www.python.org'.rsplit('.', 1)\n" +"['www.python', 'org']" #: ../Doc/whatsnew/2.4.rst:809 msgid "" @@ -1677,6 +1862,18 @@ msgid "" ">>> L\n" "['A', 'b', 'c', 'D']" msgstr "" +">>> L = ['A', 'b', 'c', 'D']\n" +">>> L.sort() # Ordenación que distingue entre mayúsculas y minúsculas\n" +">>> L\n" +"['A', 'D', 'b', 'c']\n" +">>> # Uso del parámetro 'key' para ordenar la lista\n" +">>> L.sort(key=lambda x: x.lower())\n" +">>> L\n" +"['A', 'b', 'c', 'D']\n" +">>> # Método tradicional\n" +">>> L.sort(cmp=lambda x,y: cmp(x.lower(), y.lower()))\n" +">>> L\n" +"['A', 'b', 'c', 'D']" #: ../Doc/whatsnew/2.4.rst:835 msgid "" @@ -1710,6 +1907,9 @@ msgid "" ">>> L\n" "['A', 'b', 'c', 'D']" msgstr "" +">>> L.sort(key=str.lower)\n" +">>> L\n" +"['A', 'b', 'c', 'D']" #: ../Doc/whatsnew/2.4.rst:849 msgid "" @@ -1785,6 +1985,24 @@ msgid "" "red 1\n" "yellow 5" msgstr "" +">>> L = [9,7,8,3,2,4,1,6,5]\n" +">>> [10+i for i in sorted(L)] # utilizable en una comprensión de lista\n" +"[11, 12, 13, 14, 15, 16, 17, 18, 19]\n" +">>> L # el original no se modifica\n" +"[9,7,8,3,2,4,1,6,5]\n" +">>> sorted('Monty Python') # cualquier iterable puede ser una entrada\n" +"[' ', 'M', 'P', 'h', 'n', 'n', 'o', 'o', 't', 't', 'y', 'y']\n" +"\n" +">>> # Lista el contenido de un diccionario ordenado por valores clave\n" +">>> colormap = dict(red=1, blue=2, green=3, black=4, yellow=5)\n" +">>> for k, v en sorted(colormap.iteritems()):\n" +"... imprimir k, v\n" +"...\n" +"negro 4\n" +"azul 2\n" +"verde 3\n" +"rojo 1\n" +"amarillo 5" #: ../Doc/whatsnew/2.4.rst:892 ../Doc/whatsnew/2.4.rst:920 #: ../Doc/whatsnew/2.4.rst:1213 @@ -1846,6 +2064,13 @@ msgid "" ">>> transpose([])\n" "[]" msgstr "" +">>> def transpose(matriz):\n" +"... return zip(*matriz)\n" +"...\n" +">>> transpose([(1,2,3), (4,5,6)])\n" +"[(1, 4), (2, 5), (3, 6)]\n" +">>> transpose([])\n" +"[]" #: ../Doc/whatsnew/2.4.rst:922 msgid "" @@ -2004,15 +2229,15 @@ msgstr "" "obtener todos los detalles." #: ../Doc/whatsnew/2.4.rst:998 -#, fuzzy msgid "" "The :mod:`!asyncore` module's :func:`!loop` function now has a *count* " "parameter that lets you perform a limited number of passes through the " "polling loop. The default is still to loop forever." msgstr "" -"El módulo :mod:`asyncore` y la función :func:`loop` ahora tiene un parámetro " -"*count* que permite ejecutar un limitado número de pases mediante el bucle. " -"El valor predeterminado sigue siendo el bucle para siempre." +"La función :func:`!loop` del módulo :mod:`!asyncore` ahora tiene un " +"parámetro *count* que le permite realizar una cantidad limitada de pasadas a " +"través del bucle de sondeo. El valor predeterminado sigue siendo el bucle " +"indefinidamente." #: ../Doc/whatsnew/2.4.rst:1002 msgid "" @@ -2117,6 +2342,20 @@ msgid "" ">>> 'h' in d # search the deque\n" "True" msgstr "" +">>> from collections import deque\n" +">>> d = deque('ghi') # crea un nuevo deque con tres elementos\n" +">>> d.append('j') # agrega una nueva entrada al lado derecho\n" +">>> d.appendleft('f') # agrega una nueva entrada al lado izquierdo\n" +">>> d # muestra la representación del deque\n" +"deque(['f', 'g', 'h', 'i', 'j'])\n" +">>> d.pop() # devuelve y elimina el elemento más a la derecha\n" +"'j'\n" +">>> d.popleft() # devuelve y elimina el elemento más a la izquierda\n" +"'f'\n" +">>> list(d) # lista el contenido del deque\n" +"['g', 'h', 'i']\n" +">>> 'h' in d # busca el deque\n" +"True" #: ../Doc/whatsnew/2.4.rst:1051 msgid "" @@ -2129,7 +2368,6 @@ msgstr "" "(Contribuido por Raymond Hettinger.)" #: ../Doc/whatsnew/2.4.rst:1055 -#, fuzzy msgid "" "The :mod:`ConfigParser ` classes have been enhanced slightly. " "The :meth:`~configparser.ConfigParser.read` method now returns a list of the " @@ -2138,11 +2376,12 @@ msgid "" "argument that isn't a string. (Contributed by John Belmonte and David " "Goodger.)" msgstr "" -"Las clases de :mod:`ConfigParser` se han mejorado ligeramente. El método :" -"meth:`read` ahora devuelve una lista de los archivos que se analizaron " -"correctamente y el método :meth:`set` lanza :exc:`TypeError` si se pasa un " -"argumento *value* que no es una cadena. (Contribuido por John Belmonte y " -"David Goodger.)" +"Las clases :mod:`ConfigParser ` se han mejorado ligeramente. " +"El método :meth:`~configparser.ConfigParser.read` ahora devuelve una lista " +"de los archivos que se analizaron correctamente y el método :meth:" +"`~configparser.ConfigParser.set` genera :exc:`TypeError` si se le pasa un " +"argumento *value* que no sea una cadena. (Contribuido por John Belmonte y " +"David Goodger)." #: ../Doc/whatsnew/2.4.rst:1060 msgid "" @@ -2202,7 +2441,6 @@ msgstr "" "una clasificación completa. (Contribuido por Raymond Hettinger.)" #: ../Doc/whatsnew/2.4.rst:1084 -#, fuzzy msgid "" "The :mod:`httplib ` module now contains constants for HTTP status " "codes defined in various HTTP-related RFC documents. Constants have names " @@ -2210,11 +2448,11 @@ msgid "" "`MOVED_PERMANENTLY`; use pydoc to get a full list. (Contributed by Andrew " "Eland.)" msgstr "" -"El módulo :mod:`httplib` ahora contiene constantes para códigos de estado " -"HTTP definidos en varios documentos RFC relacionados con HTTP. Las " +"El módulo :mod:`httplib ` ahora contiene constantes para los códigos " +"de estado HTTP definidos en varios documentos RFC relacionados con HTTP. Las " "constantes tienen nombres como :const:`OK`, :const:`CREATED`, :const:" -"`CONTINUE`, y :const:`MOVED_PERMANENTLY`; use pydoc para obtener una lista " -"completa. (Contribuido por Andrew Eland.)" +"`CONTINUE` y :const:`MOVED_PERMANENTLY`; utilice pydoc para obtener una " +"lista completa. (Contribuido por Andrew Eland)." #: ../Doc/whatsnew/2.4.rst:1090 msgid "" @@ -2268,6 +2506,17 @@ msgid "" "0 [12, 14]\n" ">>>" msgstr "" +">>> importar itertools\n" +">>> L = [2, 4, 6, 7, 8, 9, 11, 12, 14]\n" +">>> para key_val, it en itertools.groupby(L, lambda x: x % 2):\n" +"... imprimir key_val, list(it)\n" +"...\n" +"0 [2, 4, 6]\n" +"1 [7]\n" +"0 [8]\n" +"1 [9, 11]\n" +"0 [12, 14]\n" +">>>" #: ../Doc/whatsnew/2.4.rst:1118 msgid "" @@ -2300,6 +2549,25 @@ msgid "" ">>> [(k, len(list(g))) for k, g in groupby(letters)]\n" "[('a', 5), ('b', 2), ('c', 1), ('d', 1), ('r', 2)]" msgstr "" +">>> palabra = 'abracadabra'\n" +">>> letras = sorted(palabra) # Convierte una cadena en una lista ordenada de " +"letras\n" +">>> letras\n" +"['a', 'a', 'a', 'a', 'a', 'b', 'b', 'c', 'd', 'r', 'r']\n" +">>> for k, g in itertools.groupby(letters):\n" +"... print k, list(g)\n" +"...\n" +"a ['a', 'a', 'a', 'a', 'a']\n" +"b ['b', 'b']\n" +"c ['c']\n" +"d ['d']\n" +"r ['r', 'r']\n" +">>> # Lista de letras únicas\n" +">>> [k for k, g in groupby(letters)]\n" +"['a', 'b', 'c', 'd', 'r']\n" +">>> # Cuenta las ocurrencias de las letras\n" +">>> [(k, len(lista(g))) para k, g en groupby(letras)]\n" +"[('a', 5), ('b', 2), ('c', 1), ('d', 1), ('r', 2)]" #: ../Doc/whatsnew/2.4.rst:1141 msgid "(Contributed by Hye-Shik Chang.)" @@ -2327,6 +2595,15 @@ msgid "" ">>> list(i2) # Run the second iterator to exhaustion\n" "[1, 2, 3]" msgstr "" +">>> L = [1,2,3]\n" +">>> i1, i2 = itertools.tee(L)\n" +">>> i1,i2\n" +"(, )\n" +">>> list(i1) # Ejecuta el primer iterador hasta el agotamiento\n" +"[1, 2, 3]\n" +">>> list(i2) # Ejecuta el segundo iterador hasta el agotamiento\n" +"[1, 2, 3]" #: ../Doc/whatsnew/2.4.rst:1156 msgid "" @@ -2350,7 +2627,6 @@ msgstr "" "Hettinger.)" #: ../Doc/whatsnew/2.4.rst:1165 -#, fuzzy msgid "" "A number of functions were added to the :mod:`locale` module, such as :func:" "`bind_textdomain_codeset` to specify a particular encoding and a family of :" @@ -2359,8 +2635,8 @@ msgid "" msgstr "" "Se agregaron varias funciones al módulo :mod:`locale`, como :func:" "`bind_textdomain_codeset` para especificar una codificación particular y una " -"familia de funciones :func:`l\\*gettext` que devuelven mensajes en la " -"codificación elegida. (Contribución de Gustavo Niemeyer.)" +"familia de funciones :func:`!l\\*gettext` que devuelven mensajes en la " +"codificación elegida. (Contribuido por Gustavo Niemeyer.)" #: ../Doc/whatsnew/2.4.rst:1170 msgid "" @@ -2384,6 +2660,10 @@ msgid "" " level=0, # Log all messages\n" " format='%(levelname):%(process):%(thread):%(message)')" msgstr "" +"importar registro\n" +"logging.basicConfig(filename='/var/log/application.log',\n" +"level=0, # Registrar todos los mensajes\n" +"format='%(levelname):%(process):%(thread):%(message)')" #: ../Doc/whatsnew/2.4.rst:1181 msgid "" @@ -2419,16 +2699,15 @@ msgstr "" "significativamente más pequeños. (Contribución de Martin von Löwis.)" #: ../Doc/whatsnew/2.4.rst:1195 -#, fuzzy msgid "" "The :mod:`!nntplib` module's :class:`NNTP` class gained :meth:`description` " "and :meth:`descriptions` methods to retrieve newsgroup descriptions for a " "single group or for a range of groups. (Contributed by Jürgen A. Erhard.)" msgstr "" -"La clase :class:`NNTP` del módulo :mod:`nntplib` obtuvo los métodos :meth:" +"La clase :class:`NNTP` del módulo :mod:`!nntplib` obtuvo los métodos :meth:" "`description` y :meth:`descriptions` para recuperar descripciones de grupos " "de noticias para un solo grupo o para un rango de grupos. (Contribución de " -"Jürgen A. Erhard.)" +"Jürgen A. Erhard)." #: ../Doc/whatsnew/2.4.rst:1199 msgid "" @@ -2454,6 +2733,14 @@ msgid "" ">>> sorted(L, key=operator.itemgetter(1)) # Sort list by second tuple item\n" "[('d', 1), ('c', 2), ('b', 3), ('a', 4)]" msgstr "" +">>> L = [('c', 2), ('d', 1), ('a', 4), ('b', 3)]\n" +">>> map(operator.itemgetter(0), L)\n" +"['c', 'd', 'a', 'b']\n" +">>> map(operator.itemgetter(1), L)\n" +"[2, 1, 4, 3]\n" +">>> sorted(L, key=operator.itemgetter(1)) # Ordenar la lista por el segundo " +"elemento de la tupla\n" +"[('d', 1), ('c', 2), ('b', 3), ('a', 4)]" #: ../Doc/whatsnew/2.4.rst:1215 #, python-format @@ -2472,7 +2759,6 @@ msgstr "" "Greg Ward.)" #: ../Doc/whatsnew/2.4.rst:1221 -#, fuzzy msgid "" "The long-term plan is to deprecate the :mod:`!rfc822` module in some future " "Python release in favor of the :mod:`email` package. To this end, the :func:" @@ -2481,12 +2767,13 @@ msgid "" "want to write new e-mail processing code with this in mind. (Change " "implemented by Anthony Baxter.)" msgstr "" -"El plan a largo plazo es desaprobar el módulo :mod:`rfc822` en alguna " -"versión futura de Python a favor del paquete :mod:`email`. Con este fin, la " -"función :func:`email.Utils.formatdate` se ha modificado para que pueda " -"utilizarse como reemplazo de :func:`rfc822.formatdate`. Es posible que desee " -"escribir un nuevo código de procesamiento de correo electrónico con esto en " -"mente. (Cambio implementado por Anthony Baxter)." +"El plan a largo plazo es dejar obsoleto el módulo :mod:`!rfc822` en alguna " +"versión futura de Python a favor del paquete :mod:`email`. Con este fin, se " +"ha modificado la función :func:`email.Utils.formatdate ` para que pueda utilizarse como reemplazo de :func:`!rfc822." +"formatdate`. Es posible que desee escribir un nuevo código de procesamiento " +"de correo electrónico teniendo esto en cuenta. (Cambio implementado por " +"Anthony Baxter)." #: ../Doc/whatsnew/2.4.rst:1227 msgid "" @@ -2660,6 +2947,11 @@ msgid "" "data.number = 42\n" "data.url = ('www.python.org', 80)" msgstr "" +"importar subprocesos\n" +"\n" +"datos = threading.local()\n" +"datos.number = 42\n" +"datos.url = ('www.python.org', 80)" #: ../Doc/whatsnew/2.4.rst:1298 msgid "" @@ -2696,15 +2988,14 @@ msgstr "" "regular. (Contribuido por Raymond Hettinger.)" #: ../Doc/whatsnew/2.4.rst:1311 -#, fuzzy msgid "" "The :mod:`xmlrpclib ` module now supports a multi-call " "extension for transmitting multiple XML-RPC calls in a single HTTP " "operation. (Contributed by Brian Quinlan.)" msgstr "" -"El módulo :mod:`xmlrpclib` ahora admite una extensión de múltiples llamadas " -"para transmitir múltiples llamadas XML-RPC en una sola operación HTTP. " -"(Contribuido por Brian Quinlan.)" +"El módulo :mod:`xmlrpclib ` ahora admite una extensión de " +"múltiples llamadas para transmitir múltiples llamadas XML-RPC en una sola " +"operación HTTP. (Contribuido por Brian Quinlan)." #: ../Doc/whatsnew/2.4.rst:1315 msgid "" @@ -2718,7 +3009,6 @@ msgid "cookielib" msgstr "cookielib" #: ../Doc/whatsnew/2.4.rst:1326 -#, fuzzy msgid "" "The :mod:`cookielib ` library supports client-side handling " "for HTTP cookies, mirroring the :mod:`Cookie ` module's server-" @@ -2727,13 +3017,14 @@ msgid "" "and fetches the cookie from the jar when connecting to the server. As in web " "browsers, policy objects control whether cookies are accepted or not." msgstr "" -"La biblioteca :mod:`cookielib` admite el manejo del lado del cliente para " -"las cookies HTTP, reflejando el soporte de cookies del lado del servidor del " -"módulo :mod:`Cookie`. Las cookies se almacenan en frascos de galletas; la " -"biblioteca almacena de forma transparente las cookies ofrecidas por el " -"servidor web en el tarro de cookies y recupera la cookie del tarro cuando se " -"conecta al servidor. Al igual que en los navegadores web, los objetos de " -"política controlan si las cookies se aceptan o no." +"La biblioteca :mod:`cookielib ` admite el manejo de cookies " +"HTTP por parte del cliente, lo que refleja la compatibilidad con cookies del " +"lado del servidor del módulo :mod:`Cookie `. Las cookies se " +"almacenan en contenedores de cookies; la biblioteca almacena de forma " +"transparente las cookies ofrecidas por el servidor web en el contenedor de " +"cookies y recupera la cookie del contenedor cuando se conecta al servidor. " +"Al igual que en los navegadores web, los objetos de política controlan si se " +"aceptan o no las cookies." #: ../Doc/whatsnew/2.4.rst:1333 msgid "" @@ -2749,15 +3040,14 @@ msgstr "" "Perl." #: ../Doc/whatsnew/2.4.rst:1338 -#, fuzzy msgid "" ":mod:`urllib2 ` has been changed to interact with :mod:" "`cookielib `: :class:`HTTPCookieProcessor` manages a cookie " "jar that is used when accessing URLs." msgstr "" -":mod:`urllib2` se ha cambiado para interactuar con :mod:`cookielib`: :class:" -"`HTTPCookieProcessor` administra un tarro de cookies que se utiliza al " -"acceder a las URL." +"Se ha modificado :mod:`urllib2 ` para interactuar con :mod:" +"`cookielib `: :class:`HTTPCookieProcessor` administra un " +"contenedor de cookies que se utiliza al acceder a las URL." #: ../Doc/whatsnew/2.4.rst:1342 msgid "This module was contributed by John J. Lee." @@ -2802,6 +3092,18 @@ msgid "" "# Get list of DocTest instances\n" "tests = finder.find(f)" msgstr "" +"def f (x, y):\n" +"\"\"\">>> f(2,2)\n" +"4\n" +">>> f(3,2)\n" +"6\n" +"\"\"\"\n" +"return x*y\n" +"\n" +"finder = doctest.DocTestFinder()\n" +"\n" +"# Obtener la lista de instancias de DocTest\n" +"tests = finder.find(f)" #: ../Doc/whatsnew/2.4.rst:1371 msgid "" @@ -2819,6 +3121,11 @@ msgid "" "\n" "runner.summarize(verbose=1)" msgstr "" +"runner = doctest.DocTestRunner()\n" +"para t en pruebas:\n" +"intentado, fallido = runner.run(t)\n" +"\n" +"runner.summarize(verbose=1)" #: ../Doc/whatsnew/2.4.rst:1380 msgid "The above example produces the following output::" @@ -2832,6 +3139,11 @@ msgid "" "2 passed and 0 failed.\n" "Test passed." msgstr "" +"1 ítems pasaron todas las pruebas:\n" +"2 pruebas en f\n" +"2 pruebas en 1 ítem.\n" +"2 pasaron y 0 reprobaron.\n" +"Prueba aprobada." #: ../Doc/whatsnew/2.4.rst:1388 msgid "" @@ -2867,6 +3179,11 @@ msgid "" ">>>\n" "\"\"\"" msgstr "" +"def o (n):\n" +" \"\"\">>> o(1)\n" +"<__main__.C instance at 0x...>\n" +">>>\n" +"\"\"\"" #: ../Doc/whatsnew/2.4.rst:1404 msgid "Another special string, ````, matches a blank line::" @@ -2881,6 +3198,11 @@ msgid "" ">>>\n" "\"\"\"" msgstr "" +"def p (n):\n" +" \"\"\">>> p(1)\n" +"\n" +">>>\n" +"\"\"\"" #: ../Doc/whatsnew/2.4.rst:1412 msgid "" @@ -2908,6 +3230,16 @@ msgid "" " for word in L[:n]:\n" " print word" msgstr "" +"def g (n):\n" +" \"\"\">>> g(4)\n" +"here\n" +"is\n" +"a\n" +"lengthy\n" +">>>\"\"\"\n" +" L = 'here is a rather lengthy list of words'.split()\n" +" for word in L[:n]:\n" +" print word" #: ../Doc/whatsnew/2.4.rst:1428 msgid "" @@ -2931,6 +3263,17 @@ msgid "" " +rather\n" "**********************************************************************" msgstr "" +"**********************************************************************\n" +"File \"t.py\", line 15, in g\n" +"Failed example:\n" +" g(4)\n" +"Differences (unified diff with -expected +actual):\n" +" @@ -2,3 +2,3 @@\n" +" is\n" +" a\n" +" -lengthy\n" +" +rather\n" +"**********************************************************************" #: ../Doc/whatsnew/2.4.rst:1449 msgid "Build and C API Changes" @@ -3111,12 +3454,11 @@ msgstr "" "relativas (``<``, ``>``) lanzarán un :exc:`TypeError`." #: ../Doc/whatsnew/2.4.rst:1532 -#, fuzzy msgid "" ":func:`!dircache.listdir` now passes exceptions to the caller instead of " "returning empty lists." msgstr "" -":func:`dircache.listdir` ahora pasa excepciones a la persona que llama en " +":func:`!dircache.listdir` ahora pasa excepciones a la persona que llama en " "lugar de devolver listas vacías." #: ../Doc/whatsnew/2.4.rst:1535