【.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の新着記事一覧

STEAM教育とは?特徴と国内外の取り組み事例・実践方法を解説
Anaconda3で「’git’ は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と出るときの対処法
【OAK-D Lite入門】DepthAIをインストールしてみよう
【Python3】 Anaconda3の環境変数(PATH)を手動で追加する方法(Windows11)
【VScode】PermissionError: [WinError 5] アクセスが拒否されました。と出るときの対処法【Anaconda3】
まる。

Python歴3年のフルスタックエンジニア&ヨギー。
大学は心理学、趣味はヘルスケア全般。

エンジニア育成コミニュティの運営と、オリジナル名刺・Web制作やハタヨガレッスンやってます。

お仕事の依頼はDMもしくはメールにて。

↓アートとかの趣味アカ。よかったらみて下さい!٩(๑❛ᴗ❛๑)
Insta:@malmal0v0

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