長門有希Pythonプロンプト Ver.2
以前長門有希Pythonプロンプト - yuyarinの日記という記事で長門有希のPythonプロンプトを紹介したが、先日少し改良したので報告を。
環境
- OS
- Windows Vista Home Edition
- Python
- Python 日本語環境用インストーラ(Win32)(ver.2.3.4)
手順
Pythonのインストールディレクトリ下のLib\idlelib\にあるファイルを次の手順で書き換える。注意:コードを書き換えてから2回再起動しないと変更が反映されないようです。
1.PyShell.pyの2行目(空行)にエンコード指定を書いてutf-8で保存。
# -*- coding: utf-8 -*-
2.PyShell.pyの700行目にあるウィンドウタイトルを書き換える。
shell_title = "Nagato Python Shell"
3.PyShell.pyの807, 820、1208行目の">>> "を"YUYA.K> "など自分の名前に書き換える(コメントは変更前の行)。
# line 807
#sys.ps1 = ">>> "
sys.ps1 = "YUYA.K> "
# line 820
#sys.ps1 = "[DEBUG ON]\n>>> "
sys.ps1 = "[DEBUG ON]\nYUYA.K> "
#line 1208
#sys.ps1 = '>>> '
sys.ps1 = "YUYA.K> "4.PyShell.pyの895行目(バージョン情報表示部の下)に長門から起動メッセージを追加する(コメントは前後の行)。前回は"self.console.write"としていたが、今回は"self.stdout.write"とする。これがポイント。
#line892=self.write("Python %s on %s\n%s\nIDLE %s %s\n" %
#line893= (sys.version, sys.platform, self.COPYRIGHT,
#line894= idlever.IDLE_VERSION, nosub))
self.stdout.write(u'YUKI.N> みえてる?\nYUKI.N> うまく言語化できない。情報の伝達に齟齬が発生するかもしれない。でも、聞いて。')
#line896=self.showprompt()5.Pythonのインストールディレクトリ下のLib\idlelib\にnagato.gifを保存する。
6.EditorWindow.pyの162行目以降に以下を追加(コメントは前後の行)。
#line161=text_frame.pack(side=LEFT, fill=BOTH, expand=1)
self.nagato = PhotoImage(file='C:\\Python23\\Lib\\idlelib\\nagato.gif')
text.image_create('1.0', image=self.nagato)
text.pack(side=TOP, fill=BOTH, expand=1)
#line165=text.focus_set()7.run.pyのruncode()内247行目に"sys.stdout.write("YUKI.N> ")"を追加する。
#line244=def runcode(self, code):
try:
self.usr_exc_info = None
sys.stdout.write("YUKI.N> ")
exec code in self.locals8.PyShall.pyの940行目付近、Ctrl+Cの中断処理を書き換える。
self.stdout.write("YUKI.N> ")
self.interp.write(u"処理は中断された。あなたの指示。\n")
課題など
- 複数行の結果を表示する場合1行目だけ "YUKI.N> " が表示される。
- エラーメッセージをそれっぽく書き換える。
- 'おはよう有希' と言っても 'おはようゆうやりん' と返してくれない。
- というかエコーしかしてくれない。
- defしたときに「わかった」とか言ってくれたら嬉しいよね。
