私はいくつかのプログラミング言語について自分なりの方法を知ってきました。そして、コマンドライン テキスト エディター (vim/emacs/nano のように端末で実行されるが、純粋なテキスト) を作成してみたいと思います。 (いいえ、お願いします)。できれば、Pythonでこれを行いたいと思います。どこから始めればよいですか?コマンドライン アプリケーションを実行するための (python) ライブラリはありますか?
10 に答える
python curses module を試してみてください。これはコマンドラインのグラフィック操作ライブラリです。
Curses Programming in Pythonとこれも見てください。
Kids today! Sheesh! When I was starting out, curses was not in widespread use!
My first text editors worked on actual mechanical Teletype devices with actual paper (not a philosophical "TTY" device with a scrolling screen!)
This still works nicely as a way to edit.
Use the cmd
module to implement a bunch of commands. Use the 'ex' man page for hints as to what you need. Do not read about the vi commands; avoid reading about vim.
Look at older man pages for just the "EX COMMANDS" section. For example, here: http://www.manpagez.com/man/1/ex/.
Implement the append, add, change, delete, global, insert, join, list, move, print, quit, substitute and write commands and you'll be happy.
Curses のタイプ ライブラリとリソースを使用すると、テキスト形式のユーザー インターフェイスにアクセスでき、非常に優れた、比較的使いやすいウィンドウ、メニュー、エディターなどを提供します。
次に、Python 用のコード ハイライト モジュールを調べます。
テキスト インターフェイスの制限に対処するのは楽しいプロセスであり、この道を進むことで多くのことを学ぶことができます。幸運を!
-アダム
優れた urwid ツールキット ( http://excess.org/article/2009/03/urwid-0984-released ) をお勧めします - これはストレートな curses よりもはるかに使いやすいです。
Python ライブラリへの完全なリファレンスではありませんが、Craig A. Finseth によるThe Craft of Text Editingに興味があるかもしれません。
さて、GUI とはどういう意味ですか? コンソールで使用できるものを作成したいだけの場合curses
は、Python 標準ライブラリのモジュールを調べてください。これにより、コンソールでプリミティブな GUI をシミュレートできます。
あまり深刻ではない提案:行エディターは curses なしで実装できます。
もちろん、これらは非常に原始的であり、作業するのはあまり楽しいものではありません。しかし、それらは非常に小さなコードで実装でき、メモリ内のファイルの状態を非常に迅速に維持するためのさまざまなスキームをいじる機会を与えてくれます。 .
そして、彼らは 70 年代初頭のプログラマーと連絡を取ることができました (彼らがテレタイプと最初のガラス テレタイプを持っていたときですが、パンチカードが少し時代遅れになった後...)。