Ignore:
Timestamp:
22/06/09 20:41:38 (4 years ago)
Author:
facundobatista
Message:

Seguimos!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/traducidos/modules.rst

    r18 r19  
    187187que usan un montón de los módulos estándar, si un archivo llamado 
    188188:file:`spam.pyc` existe en el directorio donde se encuentra :file:`spam.py`, se 
    189 asume que contiene una versión ya "compilada a byte" del módulo :mod:`spam`. 
    190 La fecha y hora de modificación del archivo :file:`spam.py` usado para crar 
    191 :file:`spam.pyc` se graba en este último, y el :file:`.pyc` se ignora si estos 
    192 no coinciden. 
    193  
    194 Normally, you don't need to do anything to create the :file:`spam.pyc` file. 
    195 Whenever :file:`spam.py` is successfully compiled, an attempt is made to write 
    196 the compiled version to :file:`spam.pyc`.  It is not an error if this attempt 
    197 fails; if for any reason the file is not written completely, the resulting 
    198 :file:`spam.pyc` file will be recognized as invalid and thus ignored later.  The 
    199 contents of the :file:`spam.pyc` file are platform independent, so a Python 
    200 module directory can be shared by machines of different architectures. 
    201  
    202 Some tips for experts: 
    203  
    204 * When the Python interpreter is invoked with the :option:`-O` flag, optimized 
    205   code is generated and stored in :file:`.pyo` files.  The optimizer currently 
    206   doesn't help much; it only removes :keyword:`assert` statements.  When 
    207   :option:`-O` is used, *all* :term:`bytecode` is optimized; ``.pyc`` files are 
    208   ignored and ``.py`` files are compiled to optimized bytecode. 
    209  
    210 * Passing two :option:`-O` flags to the Python interpreter (:option:`-OO`) will 
    211   cause the bytecode compiler to perform optimizations that could in some rare 
    212   cases result in malfunctioning programs.  Currently only ``__doc__`` strings are 
    213   removed from the bytecode, resulting in more compact :file:`.pyo` files.  Since 
    214   some programs may rely on having these available, you should only use this 
    215   option if you know what you're doing. 
    216  
    217 * A program doesn't run any faster when it is read from a :file:`.pyc` or 
    218   :file:`.pyo` file than when it is read from a :file:`.py` file; the only thing 
    219   that's faster about :file:`.pyc` or :file:`.pyo` files is the speed with which 
    220   they are loaded. 
    221  
    222 * When a script is run by giving its name on the command line, the bytecode for 
    223   the script is never written to a :file:`.pyc` or :file:`.pyo` file.  Thus, the 
    224   startup time of a script may be reduced by moving most of its code to a module 
    225   and having a small bootstrap script that imports that module.  It is also 
    226   possible to name a :file:`.pyc` or :file:`.pyo` file directly on the command 
    227   line. 
    228  
    229 * It is possible to have a file called :file:`spam.pyc` (or :file:`spam.pyo` 
    230   when :option:`-O` is used) without a file :file:`spam.py` for the same module. 
    231   This can be used to distribute a library of Python code in a form that is 
    232   moderately hard to reverse engineer. 
     189asume que contiene una versión ya "compilada a byte" del módulo :mod:`spam` (lo 
     190que se denomina *bytecode*).  La fecha y hora de modificación del archivo 
     191:file:`spam.py` usado para crear :file:`spam.pyc` se graba en este último, y 
     192el :file:`.pyc` se ignora si estos no coinciden. 
     193 
     194Normalmente, no necesitás hacer nada para crear el archivo :file:`spam.pyc`. 
     195Siempre que el se compile satisfactoriamente el :file:`spam.py`, se hace un 
     196intento de escribir la versión compilada al :file:`spam.pyc`. No es un error 
     197si este intento falla, si por cualquier razón el archivo no se escribe 
     198completamente, el archivo :file:`spam.pyc` resultante se reconocerá como 
     199inválido luego.  El contenido del archivo :file:`spam.pyc` es independiente de 
     200la plataforma, por lo que un directorio de módulos puede ser compartido por 
     201máquinas de diferentes arquitecturas. 
     202 
     203Algunos consejos para expertos: 
     204 
     205* Cuando se invoca el intérprete de Python con la opción :option:`-O`, se 
     206  genera código optimizado que se almacena en archivos :file:`.pyo`.  El 
     207  optimizador actualmente no ayuda mucho; sólo remueve las declaraciones 
     208  :keyword:`assert`.  Cuando se usa :option:`-O`, se optimiza *todo* el 
     209  :term:`bytecode`; se ignoran los archivos ``.pyc`` y los archivos ``.py`` 
     210  se compilan a bytecode optimizado. 
     211 
     212* Pasando dos opciones :option:`-O` al intérprete de Python (:option:`-OO`) 
     213  causará que el compilador realice optimizaciones que en algunos raros casos 
     214  podría resultar en programas que funcionen incorrectamente. Actualmente, 
     215  solamente se remueven del bytecode a las cadenas ``__doc__``, resultando en 
     216  archivos :file:`.pyo` más compactos.  Ya que algunos programan necesitan 
     217  tener disponibles estas cadenas, sólo deberías usar esta opción si sabés lo 
     218  que estás haciendo. 
     219 
     220* Un programa no corre más rápido cuando se lee de un archivo :file:`.pyc` o 
     221  :file:`.pyo` que cuando se lee del :file:`.py`; lo único que es más rápido 
     222  en los archivos :file:`.pyc` o :file:`.pyo` es la velocidad con que se 
     223  cargan. 
     224 
     225* Cuando se ejecuta un script desde la linea de órdenes, nunca se escribe el 
     226  bytecode del script a los archivos :file:`.pyc` o :file:`.pyo`.  Por lo 
     227  tanto, el tiempo de comienzo de un script puede reducirse moviendo la mayor 
     228  parte de su códugo a un módulo y usando un pequeño script de arranque que 
     229  importe el módulo.  También es posible nombrar a los archivos :file:`.pyc` o 
     230  :file:`.pyo` directamente desde la linea de órdenes. 
     231 
     232* Es posible tener archivos llamados :file:`spam.pyc` (o :file:`spam.pyo` 
     233  cuando se usa la opción :option:`-O`) sin un archivo :file:`spam.py` para 
     234  el mismo módulo.  Esto puede usarse para distribuir el código de una 
     235  biblioteca de python en una forma que es moderadamente difícil de hacerle 
     236  ingeniería inversa. 
    233237 
    234238  .. index:: module: compileall 
    235239 
    236 * The module :mod:`compileall` can create :file:`.pyc` files (or :file:`.pyo` 
    237   files when :option:`-O` is used) for all modules in a directory. 
     240* El módulo :mod:`compileall` puede crear archivos :file:`.pyc` (o archivos 
     241  :file:`.pyo` cuando se usa la opción :option:`-O`) para todos los módulos 
     242  en un directorio. 
    238243 
    239244 
Note: See TracChangeset for help on using the changeset viewer.