問題タブ [python-curses]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
343 参照

python - Pythonシェルで一度に1語ずつ印刷するにはどうすればよいですか?

このタスクを実行するためのコードは既にありますが、コマンド プロンプトでしか実行できません。関数に入力する数値は 1 分あたりの単語数なので、60 を入力すると 60 wpm、つまり 1 秒あたり 1 単語になります。

これをシェルで機能させるには、curses をインポートする必要があると言われました。それ、どうやったら出来るの?まったく違うものを書く必要がありますか?

0 投票する
1 に答える
1150 参照

python-3.x - python-curses で右下隅まで塗りつぶす方法

私は Python3.3 で curses を使用しており、使用可能なスペース全体を文字で埋める必要があります。double for ループが最後のコーナーに到達すると、エラーが発生します。

文字を追加するたびに、カーソルが右に移動することに気付きました。私はこれを十分にテストしていませんが、stdscr.addch への最後の呼び出しでカーソルがウィンドウの端から離れていると思われ、エラーが発生する可能性があります。

追加のメモは、ウィンドウが返すものの 1 単位下の最大幅または高さを使用することで、エラーなしでループできることです。

失敗するソース:

私のプロジェクトでは、完全な長方形を使用することが重要です。ここまでで、最大幅を 80 から 79 に縮めましたが、最後の隅まで書く方法を知っている人がいたら教えてください。

0 投票する
1 に答える
675 参照

python - ncursesで文字列値を返す方法は?

私はwin.inch(y,x)win.instr(y,x)、さらにwin.getch()とを試しましwin.getkey()た。誰も探偵効果を達成できませんか?stackoverflow と google で検索しましたが、これまでのところ解決策が見つかりませんでした。私はすでにpythonのcursesマニュアルを読みました。しかし、まだこれを解決することはできません。

私のコード:

このコードを実行しましたが、「成功」は画面に表示されませんでした。昨夜、コードを 4 時間デバッグしました。そして、私はこの価値判断の主張「 if stdscr.inch(1,1,) == 'x': 」で立ち往生していたと確信しています。座標に特定の文字列があるかどうかを確認し、対応するアクションを実行するという目的をどのように実現できますか?

0 投票する
1 に答える
2446 参照

python - Python curses は、utf-8 でエンコードされた文字列を追加するときに 2 文字を出力します

UTF-8 でエンコードされた文字列を curses ウィンドウに出力しようとすると、非常に奇妙な問題に遭遇しました。これがコードです。正確な問題と、以下で試したことについて説明します。

ここにGistへのリンクがあります。

問題は、èキー (ASCII コード 232 を持つ) を押しても、その文字だけが出力されないことです。代わりに、文字列ăèは指定された座標に出力されます。使用してみself.window.addstr(self.x, self.y, self.string[1])ましたが、意味不明な印刷が行われました。

次に、Python プロンプトを起動して戻り値を確認しましたunichr(232).encode('utf-8')が、実際には長さ 2 の文字列です。

非常に予期しない動作は、それを入れると、screen.addstr(4, 4, unichr(232).encode(code))文字mainが正しく表示され、èその文字のみが表示されることです。なんとしてでも文字を出力するクラスのwriteメソッドを作った場合も同様です。AddCharCommandè

もちろん、問題はèこれだけに限定されているわけではなく、ほとんどすべての拡張 ASCII 文字に当てはまります。

curses を使用した拡張 ASCII が少し不安定であることは知っていますが、この動作をまったく理解できません。ASCII コードをハードコーディングしても、コードが期待どおりに機能することは (私には) 意味がありませんが、そうしないと別の文字が追加されます。

私は周りを見回して、呪いに関するかなり多くのことを読みましたが、これに対する解決策を見つけることができませんでした. この問題について何か助けていただければ幸いです。それは私を怒らせています。

screen.getch()あまり重要ではないかもしれませんが、127 を超える文字に対して誤った ASCII コードを返す理由と、実際の ASCII コードと curses によって返されるコードの違いが 64 である理由を誰かが説明してくれれば幸いです。

事前にどうもありがとうございました。

0 投票する
1 に答える
716 参照

python - Python curses getstr の入力制限?

午後、

curses を使用しようとしていますが、このスクリプトの要件の 1 つは、大量のデータを受け入れることです。データは貼り付けられることを意図しており、通常は数千行しかありませんが、簡単に数万行になる可能性があります。私の問題は、入力がウィンドウのサイズに制限されているようです。

元:

許可されている限り多くの「a」文字を入力すると、449 の出力が得られます。

これを盛り上げる方法はありますか?ウィンドウを大きく設定しようとしましたが、それでも最大 1024 に達しました。