2019/09/18(水) [n年前の日記]
#1 [python] Python + curses で時間表示をするスクリプトを書いてみたり
Python + curses で、時間を表示するスクリプトを書いてみたり。環境は Windows10 x64 + Python 2.7.16 32bit。
_curses_timedisp.py
Windows + Python 2.7.x 上で動作させるには、curses-*-cp27-cp27m-win32.whl のインストールが必要。
_Python Extension Packages for Windows - Christoph Gohlke
curses は、端末画面上で表示位置を指定して文字列等を描画できるライブラリ。
テキストの描画しかできないので、MZ-700 (8bit PC) + BASIC を使ってプログラムを書いてた時代を思い出した…。あの時代にBASICプログラムをせっせと書いてた人達なら、Python + curses を使って何かしらをサクサクと作れたりしそうだなと。
_curses_timedisp.py
Windows + Python 2.7.x 上で動作させるには、curses-*-cp27-cp27m-win32.whl のインストールが必要。
_Python Extension Packages for Windows - Christoph Gohlke
curses は、端末画面上で表示位置を指定して文字列等を描画できるライブラリ。
テキストの描画しかできないので、MZ-700 (8bit PC) + BASIC を使ってプログラムを書いてた時代を思い出した…。あの時代にBASICプログラムをせっせと書いてた人達なら、Python + curses を使って何かしらをサクサクと作れたりしそうだなと。
◎ 分かった点をメモ。 :
window.border() を使うと画面端に枠を描画することができる。けれど、DOS窓(コマンドプロンプト、cmd.ex)やConEmu上では右端の枠が妙な表示になってしまったので、使用を諦めた。日本語フォントを使うとずれるのだろうか。よく分からず。
curses.BLOCK を指定すれば、ブロック状の文字を指定できるはずなのだけど。DOS窓やConEmuでは、たしかにブロックっぽい文字が表示されたものの、VMware Player + Ubuntu Linux 18.04 上では「#」になってしまった。仕方ないので、curses.CKBOARD を指定して、チェッカーボードパターンっぽい文字を表示。
他に何ができるかは、公式ドキュメントが参考になりそう。
_15.11. curses --- 文字セル表示を扱うための端末操作 - Python 2.7.16 ドキュメント
curses.BLOCK を指定すれば、ブロック状の文字を指定できるはずなのだけど。DOS窓やConEmuでは、たしかにブロックっぽい文字が表示されたものの、VMware Player + Ubuntu Linux 18.04 上では「#」になってしまった。仕方ないので、curses.CKBOARD を指定して、チェッカーボードパターンっぽい文字を表示。
他に何ができるかは、公式ドキュメントが参考になりそう。
_15.11. curses --- 文字セル表示を扱うための端末操作 - Python 2.7.16 ドキュメント
[ ツッコむ ]
以上です。