Changeset 19 for trunk/traducidos/modules.rst
- Timestamp:
- 22/06/09 20:41:38 (4 years ago)
- File:
-
- 1 edited
-
trunk/traducidos/modules.rst (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/traducidos/modules.rst
r18 r19 187 187 que usan un montón de los módulos estándar, si un archivo llamado 188 188 :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. 189 asume que contiene una versión ya "compilada a byte" del módulo :mod:`spam` (lo 190 que 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 192 el :file:`.pyc` se ignora si estos no coinciden. 193 194 Normalmente, no necesitás hacer nada para crear el archivo :file:`spam.pyc`. 195 Siempre que el se compile satisfactoriamente el :file:`spam.py`, se hace un 196 intento de escribir la versión compilada al :file:`spam.pyc`. No es un error 197 si este intento falla, si por cualquier razón el archivo no se escribe 198 completamente, el archivo :file:`spam.pyc` resultante se reconocerá como 199 inválido luego. El contenido del archivo :file:`spam.pyc` es independiente de 200 la plataforma, por lo que un directorio de módulos puede ser compartido por 201 máquinas de diferentes arquitecturas. 202 203 Algunos 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. 233 237 234 238 .. index:: module: compileall 235 239 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. 238 243 239 244
Note: See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/python-tutorial/chrome/site/your_project_logo.png)