web-dev-qa-db-ja.com

pygameをインポートするときに、バージョンとウェルカムメッセージが出力されるのはなぜですか。削除する方法

Pygameをインポートするときにメッセージが表示されるのはなぜですか。バージョンとウェルカムメッセージが出力されます。メッセージは

"pygame 1.9.4 Hello from the pygame community.
 https://www.pygame.org/contribute.html" 

このメッセージを無効にするにはどうすればよいですか?

23
Aaron

私はそれを行うための自然な方法を見ていませんでした(あなたが見つけることができるこの唯一のGoogleの結果です)が、pygameのインポート中に一時的にstdoutを無効にすることで同じことを達成しました。

import os, sys
with open(os.devnull, 'w') as f:
    # disable stdout
    oldstdout = sys.stdout
    sys.stdout = f

    import pygame

    # enable stdout
    sys.stdout = oldstdout

@Mad Physicistが提案する代替案は次のとおりです。

import contextlib
with contextlib.redirect_stdout(None):
    import pygame
27
tsbertalan

わたしにはできる:

import os
os.environ['PYGAME_HIDE_SUPPORT_Prompt'] = "hide"
import pygame
15

ソースコードには、このメッセージの出力を保護する条件が含まれています。

if 'PYGAME_HIDE_SUPPORT_Prompt' not in os.environ:
    print('pygame %s' % ver)
    print('Hello from the pygame community. https://www.pygame.org/contribute.html')

this commit を参照してください

これはかなり最近(2018年10月)追加され、これまでに1.9.4がリリースされました。次のバージョン> 1.9.4がリリースされたら、単にPYGAME_HIDE_SUPPORT_Prompt= ./my_code.pyメッセージを非表示にします。

6
Will

3.6 32ビットバージョンの場合、pygameライブラリフォルダーに移動できます。

Python36-32\Lib\site-packages\pygame

__ init __。pyファイルを編集し、最後の行を削除してこのメ​​ッセージを削除します。

5
Kalif
  1. pygameをインポートする
  2. 初期化ファイルの場所を取得します:f = pygame.__file__
  3. Fを開き、ファイルの最後の2行の印刷をコメントアウトします。
2
Hunaphu

私にとっては、python 3:

import sys, os

# Disable print
def blockPrint():
    sys.stdout = open(os.devnull, 'w')

# Enable print
def enablePrint():
    sys.stdout = sys.__stdout__


blockPrint()
import pygame
enablePrint()

Brigand! に感謝)

0
DaWe

Pygameの__init__.pyファイル、そのファイルの下部に移動し、これら2つの印刷機能をコメントアウトします-

print('pygame %s' % ver)
print('Hello from the pygame community. https://www.pygame.org/contribute.html')

ただし、pygameコミュニティはオープンソースコミュニティであり、できるだけ多くの人にpygameに貢献してほしいと思っているので、私はそうしません。私があなただったら、コメントしません。

0
Tushar