python3.7下隐藏pygame的import欢迎显示

部分参考&引用

注:删除代码的解决方案参考自:https://blog.csdn.net/tiantian520ttjs/article/details/102864419

引言

相信初学python的人应该用过pygame这个库,写2D程序很管用,但大家肯定遇到过这样的问题。

当你第一次在程序中import时:

import pygame
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html

很惊喜有木有?在写控制台类程序时,这么一大串的话,还不把用户惊讶到?(手动滑稽)

今天我们就来解决这个问题。

解决方案1:删除__init__.py的代码

首先找到这目录(因为安装位置不同因机而异):

C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib\site-packages\pygame

在目录中,我们成功找到文件__init__.py,而经过一番搜寻,我们找到如下代码:

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')

找到元凶了是吧?其实到此为止,删掉这行代码就行了。

解决方案2:更改os.environ

真的到此为止了么?你不觉得这样很对不起原作者吗?
为了不更改模块文件我们仔细研究一下第一行代码:

if 'PYGAME_HIDE_SUPPORT_PROMPT' not in os.environ:

发现了没有,只要在import模块之前更改一下os.environ就行了。
那么os.environ是什么呢?
以下是来自https://www.cnblogs.com/keye/p/7679335.html的资料:

使用python获得系统的信息时,使用os.environ()

 environ是一个字符串所对应环境的映像对象;
 os.environ.keys()  主目录下所有的key
 os.environ 显示key+内容。

于是:

>>>import os
>>> os.environ
environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\Administrator\\AppData\\Roaming', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'ZP22U715YT3PAB5', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'FP_NO_HOST_CHECK': 'NO', 'HOME': 'C:\\Users\\Administrator', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\Administrator', 'LOCALAPPDATA': 'C:\\Users\\Administrator\\AppData\\Local', 'LOGONSERVER': '\\\\ZP22U715YT3PAB5', 'NUMBER_OF_PROCESSORS': '2', 'OS': 'Windows_NT', 'PATH': 'C:\\Python27\\;C:\\Python27\\Scripts;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\Scripts\\;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\pygame', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 23 Stepping 10, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '170a', 'PROGRAMDATA': 'C:\\ProgramData', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp', 'TMP': 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp', 'USERDOMAIN': 'ZP22U715YT3PAB5', 'USERNAME': 'Administrator', 'USERPROFILE': 'C:\\Users\\Administrator', 'WINDIR': 'C:\\Windows', 'WINDOWS_TRACING_FLAGS': '3', 'WINDOWS_TRACING_LOGFILE': 'C:\\BVTBin\\Tests\\installpackage\\csilogfile.log'})

这下子可明了了吧?os.environ其实是一个字典,我们只需要在字典中加入PYGAME_HIDE_SUPPORT_PROMPT项就好了,所以代码如下:

>>> import os
>>> os.environ["PYGAME_HIDE_SUPPORT_PROMPT"]="随便填什么都行"
>>> import pygame
>>> 

大功告成!

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值