Pythonプログラムをファイルに記述して実行する手順
概要
Python学習で,IDLEを使用するケースでのプログラムの実行手順を記載します。
※ IDLEを起動してから複数行のプログラムを記述して動作させるやり方がよくわからないという人を対象にしています。
※本記事はWindows環境向けです。
「Python Shell」と「IDLE Editor」
IDLEでは「シェル」と「エディタ」の機能が異なる2種類の画面(ウィンドウ)があるので注意してください。
プログラム実行の手順
プログラムを作成して実行する流れは以下になります。
- IDLEを起動して「シェル」を表示
- 「シェル」のメニューから「File - New File」を選択して「エディタ」を表示
- 「エディタ」にコードを記述(プログラムの作成)
- 「エディタ」でファイルを保存
- 「エディタ」のメニューから「Run - Run Module」を選択してプログラムを実行(※)
- 「シェル」で実行結果を確認
※正確にはエディタでプログラムの実行を指示(ユーザー操作)して,実際にプログラムが実行されるのはシェル上となります。
手順詳細
1.「シェル」を表示
IDLEを起動して最初に表示されるウィンドウがシェルです。(ウィンドウ左上のタイトルが IDLE Shell )
2.「シェル」のメニューから「File - New File」を選択して「エディタ」を表示
↓↓↓別ウィンドウでエディタが表示されます。
エディタのウィンドウのタイトルはファイル名になります。(最初はuntitled)
3.「エディタ」にコードを記述(プログラムの作成)
4.「エディタ」でファイルを保存
※ ファイル保存ダイアログが表示されるので,任意のフォルダにファイルを保存します。(ファイル名はxxxx.py)
5.「エディタ」のメニューから「Run - Run Module」を選択してプログラムを実行
6.「シェル」で実行結果を確認
print()関数の出力や,エラーなどがシェルウィンドウに表示されます。
実行後にプログラムを修正するときは,手順の3~6を繰り返して変更と実行を行います。
作成済みのプログラムファイルを開くときは「File - Open」で選択します。
作業フォルダの指定方法
※以下はWindowsの操作がある程度わかる方向けの情報です。
エディタでファイルを保存したり読み込んだりする操作で,フォルダ選択ダイアログで表示されるフォルダを任意の場所に設定したい場合は次のようにショートカットを作成してみてください。
- IDLEの起動ショートカットファイルの場所を開く
- IDLEの起動ショートカットファイルのコピーをデスクトップに作成する
- コピーしたショートカットのプロパティで作業フォルダを変更する
1.Windowスタートメニューの「Python - IDLE」を右クリックしてメニューから「その他-ファイルの場所を開く」を選択する。
2.エクスプローラー上で,IDLEの起動ショートカットを右クリックする。
右クリックメニューから「送る-デスクトップ(ショートカットを作成)」を選択する。
3.デスクトップに作成されたショートカットを右クリックしてメニューから「プロパティ」を選択する。
プロパティの「作業フォルダー」を任意のフォルダに変更する。
例)C:\Users\XXXXX\Desktop\jouhou
※Python学習用のフォルダをエクスプローラーで開き,アドレスバーからパスをコピーして貼り付けると楽
OKボタンをクリックして設定する。
実行中のIDLEは終了してから,デスクトップに作成したショートカットで起動して動作確認をして手順は完了です。
IDLEが起動できないエラー対応(2022-10-23追記)
Python3.10をインストールして,本記事のIDLE作業フォルダの指定方法でPython3.9で使っていたフォルダを指定したところ,ショートカットからのIDLE起動ができなかった。
発生したエラーは,「IDLE's subprocess didn't make connection. See the 'Startup failure' section IDLE doc, online at ...」
原因
Pythonのパッケージと同名のファイルが作業フォルダにあるためエラーが発生して起動できない。
作業フォルダに test.py というファイルを作成していたが,Python3.10 の test パッケージと名称が衝突していた。
対応
作業フォルダのファイルを別フォルダに移動させた後,IDLEが起動できることを確認した。
「昨日まで使えていたIDLEが起動できなくなった」ケースなどは「最近作ったソースコードのファイルを別の所に移動させる」対応で解消できるかもしれません。