Konwertuj pyc do py

Konwertuj PYC na PY

Wyjaśnia, dlaczego pliki .pyc są trudne do przywrócenia i jakie narzędzia mogą pomóc

Jak konwertować pyc do py

Co to są pliki .pyc i .py

.py to pliki źródłowe Pythona, które czytasz, edytujesz i uruchamiasz. .pyc to skompilowane pliki bajtkodu Pythona, które Python może wykonywać szybciej po skompilowaniu źródła.

Czy plik .pyc można przekonwertować z powrotem do .py?

Nie idealnie. Plik .pyc nie zawiera pełnego oryginalnego kodu źródłowego. W wielu przypadkach można go zdekompilować do podobnego kodu w Pythonie, ale wynik może się różnić od oryginału i może nie być w pełni czytelny ani uruchamialny bez poprawek.

Co jest tracone w plikach .pyc

Gdy Python kompiluje kod źródłowy, przechowuje bajtkod i część metadanych, ale nie zachowuje komentarzy, oryginalnego formatowania oraz często nie wszystkich nazw zmiennych ani szczegółów strukturalnych dokładnie tak, jak zapisano w źródle.

Kiedy dekompilacja może się udać

Dekomplilatory czasem potrafią odzyskać kod z .pyc utworzonych przez obsługiwane wersje Pythona. Powodzenie zależy od wersji Pythona, integralności pliku oraz tego, czy bajtkod został zaciemniony lub zmieniony.

Narzędzia, które możesz wypróbować

Do inspekcji lub odzyskiwania często używa się narzędzi takich jak uncompyle6 i decompyle3. Użyj narzędzia, które obsługuje wersję Pythona, która utworzyła plik .pyc. Nowsze wersje bajtkodu mogą nie być obsługiwane przez starsze dekompilatory.

Przykładowe polecenie

Aby spróbować zdekompilować plik za pomocą obsługiwanego narzędzia, uruchom:

uncompyle6 example.pyc > example.py

Następnie uważnie przejrzyj wynik i przetestuj go, ponieważ kod po dekompilacji może wymagać ręcznych poprawek.

Ważne ograniczenia

Pliki .pyc nie są wiarygodną kopią zapasową kodu źródłowego. Są przeznaczone do wykonywania, a nie do odzyskiwania źródła. Jeśli plik został wygenerowany przez inną wersję Pythona, jest uszkodzony albo był chroniony/zaciemniony, dekompilacja może się nie udać lub dać niepoprawne wyniki.

Najlepszy sposób na odzyskanie źródła

Jeśli potrzebujesz oryginalnego kodu, szukaj pliku .py w systemie kontroli wersji, kopiach zapasowych, archiwach wdrożeniowych lub u pierwotnego twórcy. Jeśli nie ma dostępnego źródła, dekompilacja jest tylko metodą odzyskiwania w ostateczności.

Porównanie formatu PYC z PY

Jak formaty PYC i PY wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.

Porównanie formatów plików PYC i PY
Cecha .PYC Python compiled bytecode .PY Python source file
Czytelny tekstowo Nie Tak
Formatowanie tekstu Brak Podstawowy
Obrazy Nie Nie
Dalsza edycja Nie do bezpośredniej edycji Łatwy
Otwiera się w przeglądarce internetowej Nie Nie
Typowy rozmiar pliku Bardzo mały Mały
Otwarty standard Tak Tak
Najlepszy do Osadzanie w aplikacjach Edycja i postprodukcja
Wprowadzono 1991 1991
Twórca Python Software Foundation Python Software Foundation
Typ MIME text/x-python

Konwersja odwrotna

Konwersja do .py
z innych formatów

Udostępnij w mediach społecznościowych: