1. ホーム
  2. python

[解決済み] Pythonでコンソール出力を抑制する方法は?

2022-02-04 07:15:29

質問

Pygame/SDLのジョイスティックモジュールを使って、ゲームパッドから入力を得ています。その get_hat() メソッドはコンソールに出力されます。私はデバッグのためにコンソールを使っているのですが、このコンソールが SDL_JoystickGetHat value:0: 毎秒60回です。これを無効にする方法はありますか?Pygame/SDLのオプションか、関数呼び出し中のコンソール出力を抑制するか、どちらかでしょうか?Pygameのドキュメントには、これについての言及はありませんでした。

を編集してください。 これは、SDLライブラリのコンパイル時にデバッグをオンにしたことが原因であることが判明しました。

解決するには?

以下は、joystick.cの該当するコードブロックです。 http://svn.seul.org/viewcvs/viewvc.cgi/trunk/src/joystick.c?view=markup&revision=2652&root=PyGame )

    value = SDL_JoystickGetHat (joy, _index);
#ifdef DEBUG
    printf("SDL_JoystickGetHat value:%d:\n", value);
#endif
    if (value & SDL_HAT_UP) {

デバッグがオンになっていることが問題になっているようです。