Desidero sapere che cos'è un file pyc (python bytecode). Voglio sapere tutti i dettagli. Voglio sapere come i file pyc si interfacciano con il compilatore. È un sostituto di exe? Ha bisogno di essere eseguito da python? È portatile come il file .py? Dove dovrei usare questo?Dove utilizzare un file pyc
risposta
Per completare la risposta di Mike Graham, ci sono alcuni commenti interessanti here che forniscono alcune informazioni sui file pyc. Più interessante Ho il sospetto che per voi è la linea:
Un programma non viene eseguito più velocemente quando viene letto da un file '.pyc' o '.pyo' rispetto a quando viene letto da un' .py ' file; l'unica cosa che è più veloce nei file ".pyc" o ".pyo" è la velocità con cui vengono caricati.
Che colpisce il chiodo sulla testa w.r.t. il punto cruciale di un file pyc. A pyc
è un file py
pre-interpretato. Il bytecode python è ancora lo stesso come se fosse stato generato da un file py
- la differenza è che quando si utilizza un file pyc
non è necessario passare attraverso il processo di creazione di tale output pyc
(che si esegue quando si esegue un file py
). Leggi come non devi convertire lo script python in bytecode python.
Se hai trovato file .class in java
questo è un concetto simile: la differenza è in java che devi eseguire la compilazione utilizzando javac
prima che l'interprete java esegua l'applicazione. Un modo diverso di fare le cose (gli interni saranno molto diversi in quanto sono lingue diverse) ma la stessa ampia idea.
Python bytecode richiede l'esecuzione di Python, non può essere eseguito in modalità standalone senza Python ed è specifico per una particolare versione x.y
di Python. Dovrebbe essere portatile su piattaforme per la stessa versione. Non c'è un motivo comune per usarlo; Python lo usa per ottimizzare l'analisi del tuo file .py su importazioni ripetute. La tua vita andrà bene ignorando l'esistenza dei file pyc.
Dal docs:
Come un importante accelerazione del tempo di start-up per brevi programmi che usano un sacco di moduli standard, se un file chiamato spam.pyc esiste nella directory in cui lo spam .py è stato trovato, si presume che contenga una versione già "byte-compilata" del modulo spam. Il tempo di modifica della versione di spam.py utilizzato per creare spam.pyc è registrato in spam.pyc e il file .pyc viene ignorato se questi non corrispondono.
Vedere il riferimento per ulteriori informazioni. Ma alcune risposte specifiche:
I contenuti del file spam.pyc sono indipendenti dalla piattaforma, quindi una directory di moduli Python può essere condivisa da macchine di architetture diverse.
È non un file eseguibile; è utilizzato internamente dal compilatore come passaggio intermedio.
In generale, non si creano file .pyc a mano: l'interprete li fa automaticamente.
- 1. Posso omettere i file .pyo e .pyc in un RPM?
- 2. Come posso capire un contenuto di file .pyc
- 3. Come creare un file .pyc dallo script Python
- 4. Pydev e * .pyc Files
- 5. Genera .pyc da Python AST?
- 6. Decompile Python 2.7 .pyc
- 7. git, non mostrarmi * .pyc nell'elenco dei file non tracciati!
- 8. Quali sono i limiti della distribuzione di file .pyc?
- 9. Devo mettere i file pyc sotto controllo di versione?
- 10. Modifica della directory in cui vengono creati i file .pyc
- 11. È facile decompilare completamente i file python compilati (*. Pyc)?
- 12. Come controllare dove vanno i file $ py.class?
- 13. Dove dovrei scrivere un file temporaneo?
- 14. React Router dove utilizzare AJAX
- 15. Perché la 'esecuzione' dei file .pyc non è più veloce rispetto ai file .py?
- 16. Dove mettere un file delle proprietà?
- 17. Dove posso ottenere un file YUV grezzo?
- 18. Dove npm cerca un file package.json?
- 19. rotaie 4 come utilizzare dove e dove in condizioni contemporaneamente
- 20. Come compilare tutti i file py in un file pyc in una cartella scrivendo uno script python?
- 21. Come utilizzare un file .node?
- 22. Utilizzare un file setParameters.xml diverso?
- 23. Perché le librerie Python non sono fornite come pyc?
- 24. Come utilizzare Join e Dove restituire un IList?
- 25. perché e dove utilizzare un delegato in C obiettivo
- 26. Dove può un app Mac sandboxizzata salvare i file?
- 27. Come escludere * .pyc e __pycache__ dalle ruote python?
- 28. Dove getResourceAsStream (file) cerca il file?
- 29. Dove ottenere e come utilizzare zend_pdf standalone
- 30. Dove e quando utilizzare LINQ to Objects?