Cosa sono i file "PYC"?

October 26

Il linguaggio di programmazione Python è noto per la sua semplicità semplice e portabilità. Parte di questo deriva dalla sua fondazione come un linguaggio di scripting interpretato. Tuttavia, chiamando Python un linguaggio completamente interpretato sarebbe fuorviante. Infatti, Python, molto simile a Java, funziona con il concetto di "bytecode" per facilitare la sua esecuzione. file speciali Python chiamato codice Python file ".pyc" rappresentano "compilato" che facilitano l'esecuzione rapida e la portabilità del programma.

Interpretato Versus linguaggi compilati

Tradizionalmente, linguaggi di programmazione sono stati di solito "compilate", o ridotti a istruzioni macchina, prima che il computer potesse eseguire un programma scritto. Questi programmi correvano sul hardware nativo con pochissimo software intermediario. linguaggi interpretati, d'altra parte, eseguiti su un "interprete". Un interprete prende il codice sorgente e lo esegue riga per riga. Ciò significa che mentre linguaggi compilati correre più veloce, linguaggi interpretati hanno più flessibilità per quanto riguarda ciò che comandi e la sintassi possono incorporare nella loro set di istruzioni.

bytecode

Da qualche parte nel mezzo di questi due paradigmi si trova il concetto di linguaggi compilati portatili. Il linguaggio Java rappresenta uno dei primi di questo tipo di codice. codice sorgente di Java viene compilato in Java "bytecode". bytecode Java è poi interpretato da una macchina virtuale Java in istruzioni specifiche della macchina. Ciò significa che le lingue bytecode come Java compilare in file eseguibili come linguaggi compilati, ma i programmi bytecode può essere eseguito su qualsiasi JVM esistente su qualsiasi piattaforma. Questo rende i programmi scritti in Java come portatile come quelle scritte in linguaggi interpretati, mentre ancora non è in esecuzione veloce come linguaggi compilati puri.

Python Bytecode

I programmatori possono spesso descrivere Python come linguaggio interpretato. Tuttavia, il codice sorgente Python, come il codice sorgente di Java, rompe anche in bytecode. Quando un programmatore scrive un programma Python, il codice sorgente viene tradotto in Python bytecode, e l'interprete Python poi interpreta la riga per riga bytecode durante l'esecuzione. I file di bytecode Python termina con l'estensione ".pyc". Utilità esistono per pre-compilare il codice Python, e moduli importati in uno script vengono automaticamente compilati per un uso successivo.

Usi per i file ".pyc"

I moduli che vengono importati in script utente vengono compilati dall'interprete prima dell'esecuzione. Poiché questi moduli tendono a subire l'uso ripetuto, l'interprete compila il modulo e memorizza il file ".pyc" in una directory. In questo modo, quando un script importa quel modulo, la versione bytecode esiste già, pronta per l'uso. Inoltre, bytecode file ".pyc" sono portabile su più piattaforme, rendendo gli script pre-compilazione di Python utile per la distribuzione di programmi Python attraverso diversi sistemi operativi.