2

各セルをコーディネートして操作できる場合、ターミナルウィンドウをモードで操作するにはどうすればよいですか? このモードの名前がわからないので、Google で検索できません。また、私はこのアプローチについて知っていますが、今はそれを低レベルでどのように扱うかが興味深いです。

UPD: わかりました。termios のマニュアル ページとその他のドキュメントをすべて読みましたが、今言えることは、ターミナルのどこかで、つまりフレームによって回転バーを作成する方法がまだわかりません。/ - .:(

UPD2 ああ、私は突然そこに見つけました:

import sys
import time

f='-\\|/'

for i in range(10):
    sys.stdout.write("\r{0}".format(f[i%4]))
    sys.stdout.flush()
    time.sleep(0.5)

では、このトピックの最後の質問です。termios だけの座標はどうですか?

サブ質問[解決済み]:

この投稿cursesの 2 番目のコード リストを使用すると、半透明のターミナル ウィンドウが非透明になります。それを透明に保つ方法は?top

curses.use_default_colors()解決策:の最初の文字列に挿入しますdef pbar(window):

4

2 に答える 2

1

curses(http://docs.python.org/library/curses.html)またはコンソール(http://effbot.org/zone/console-handbook.htm)モジュールが必要です

Console.pyのソースはここから入手できますhttp://www.math.uiuc.edu/~gfrancis/illimath/windows/aszgard_mini/pylibs/readline/Console.pyそれを見ることができると確信しています...確かにそれはおそらく大きな痛みであり、それが人々が常に呪いを使う理由です...

Windowsでは、msdn http://msdn.microsoft.com/en-us/library/system.console.aspxを参照し、ctypes.cdll.whatever を使用して呼び出すことができます。

于 2012-08-06T21:48:12.460 に答える
0

よりも低いレベルのライブラリが必要な場合はcurses、を使用できますtermios(ただし、htopのUIは主にcursesで記述されていると思います)

termiosモジュールは基盤となるUNIXのtermiosライブラリを公開するだけなので、Pythonのドキュメントページは最小限です。したがって、 termiosに関するこのガイド、termios.hヘッダー(またはman termiosシェルで実行)

もちろん、課題はコードをPythonに変換することですが、通常、変換はかなり簡単です(関数呼び出しは通常非常に似ており、ビットスウィズリング/ビットマスキングは同じであることがよくあります)

于 2012-08-06T22:03:13.290 に答える