【.pyc】現行のPythonバージョンのマジックナンバーを求める方法

※当サイトにはプロモーションリンクが含まれます。

Pythonにはバージョンごとに、8bit(1Byte)で構成されるバージョン情報が存在しています。
これらはマジックナンバーと呼ばれています

普段あまり気にする機会はないかもしれませんが、今日はこのマジックナンバーの調べ方を紹介します。とても簡単です。

確認したいバージョンのPythonを立ち上げ、

import importlib.util
importlib.util.MAGIC_NUMBER.hex()

と実行するだけです。

Python 3.7であれば

'420d0d0a'

Python 3.8であれば

'550d0d0a'

といった文字列が帰ってくるでしょう。
これがマジックナンバーになります。

適当な.pycファイルをバイナリエディタで開くと、先頭のヘッダにこれらが記述されていることが確認できます。(逆に言えば、調べたいPythonプログラムのバージョンのPythonを入れてなくとも、これらを開くことでマジックナンバーを確認出来ます)

↓詳しくはこちらの記事で解説してありますのでご覧ください。٩(๑❛ᴗ❛๑)

【Python3】Pyinstallerでexe化した.pyファイルをデコンパイルして中身を覗いてみる【uncompyle6】
はいどーも、まるです。最近、exe化したPythonファイルの中身を再編集しようとしたら、元のソースコードを見失ってしまい・・・。折角なのでデコンパイルして中身を取り出すことにしました。元の手順である.pyファイルのexeアプリケーション化...

MagicNumberは普段なかなか意識して使うことはないかもしれませんが、
知っておくといざというときに便利です。

なるべく頭に入れておくといいでしょう。

Pythonの新着記事一覧

【Yt-dlp】HTTP Error 403: Forbiddenエラーの解決策
【Selenium】PythonでTimeタグのdatetime属性を取得する方法
Anaconda promptのベースディレクトリを変更する方法(Python)
Anaconda promptのフォントや背景色を自分好みにデザインする方法(Python)
DepthAIにてRuntimeError: Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUNDと表示される場合の対処法
まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。ご飯行きましょ。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
タイトルとURLをコピーしました