2015-09-15 38 views
8

So che quando lo script Python viene importato in un altro script python, viene creato uno script .pyc. C'è un altro modo per creare file .pyc usando il terminale di Linux?Come creare un file .pyc dallo script Python

+0

non puoi fare $ python -c "import script"? – Yichun

+1

['python -m compileall'] (https://docs.python.org/2/library/compileall.html) –

+0

Penso che dovresti provare a usare 'zipfile' per fare pyc. È così facile farlo. Puoi usarlo per implementare il tuo codice senza src. – xiaohen

risposta

5

È possibile utilizzare il modulo py_compile. Eseguirlo da riga di comando (-m opzionale):

Quando questo modulo viene eseguito come uno script, il main() viene utilizzato per compilare tutti i file denominati sulla riga di comando.

Esempio:

$ tree 
. 
└── script.py 

0 directories, 1 file 
$ python3 -mpy_compile script.py 
$ tree 
. 
├── __pycache__ 
│   └── script.cpython-34.pyc 
└── script.py 

1 directory, 2 files 

compileall fornisce funzionalità simili, usarlo si farebbe qualcosa di simile

$ python3 -m compileall ... 

Dove ...sono file per la compilazione o le directory che contengono i file di origine, attraversato in modo ricorsivo.


Un'altra opzione è quella di importare il modulo:

$ tree 
. 
├── module.py 
├── __pycache__ 
│   └── script.cpython-34.pyc 
└── script.py 

1 directory, 3 files 
$ python3 -c 'import module' 
$ tree 
. 
├── module.py 
├── __pycache__ 
│   ├── module.cpython-34.pyc 
│   └── script.cpython-34.pyc 
└── script.py 

1 directory, 4 files 

-c 'import module' è diverso da -m module, perché il primo non eseguirà il blocco if __name__ == '__main__': in module.py.

6

Utilizzare il seguente comando:

python -m compileall <your_script.py> 

Questo creerà your_script.pyc file nella stessa directory.

È possibile passare directory anche come:

python -m compileall <directory> 

Questo creerà .pyc file per tutti i file .py nella directory

altro modo è quello di creare un altro script come

import py_compile 
py_compile.compile("your_script.py") 

Crea anche il file your_script.pyc. Puoi prendere il nome del file come argomento della riga di comando

Problemi correlati