写Python会遇到的问题大合集

1:

我写了一个程序,里面用python的pygame.mixer库来播放声音,可是我放不出来,怎么办?

def nidedaan():
    mixer.init()
    mixer.music.load("你的答案.wav")
    mixer.music.play()

结果显示:(中文翻译)无法打开“你的答案.wav”
后来才知道,先要用os来进行一些操作,这段代码放在模块导入后面的第一行。

import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))

运行一下,成了!

2:

用python的tkinter.messagebox写代码,老是出现tk窗口,太不美观了!如果要把tk窗口关掉,主程序就停止运行了,很麻烦。

from tkinter import messagebox
messagebox.showinfo('你好','奥利给!')

在这里插入图片描述
所以现在,我们要把tk窗口隐藏起来,这样就美观了。

from tkinter import messagebox,Tk
root=Tk()
root.withdraw()# 把tk窗口隐藏起来的代码
messagebox.showinfo('你好','奥利给!')

运行一下程序,成了!
在这里插入图片描述

3:

以前老看网上说“用pygame播放声音要等待,不然会听不到”,但是,直接time.sleep(n)会影响主进程,如果你写GUI代码,这段话很有用。例如:我要点击按钮播放音乐,但主进程也会保持执行,你就学习下面的代码就可以了。

from pygame import mixer
from tkinter import messagebox as tkmessagebox
def nidedaan():
    mixer.init()
    mixer.music.load("你的答案.wav")
    mixer.music.play()
    ww=tkmessagebox.askyesno('播放音乐','正在播放【你的答案】,播放完后会自动退出播放程序,点击否停止播放')
    if ww==True:
        close=1
    else:
        close=0
        mixer.music.stop()
nidedaan()

源代码不是这样的,有些修改。
这只是我在某个我写的程序里截出的片段,我的代码是GUI界面,运行这段代码不影响主进程。大家可以试一下。

4:

有的时候,我们编写程序需要使用不是在python标准库中的包,你需要使用pip install 这里是包的名称 (用包的名称来替换“这里是包的名称”的汉字)命令来下载包。但是,有些小伙伴输入命令后,有一大串的报错,这是怎么回事?
首先,你要确定你在安装python时,有没有勾选add python3.8 to path。如果没有,请去设置环境变量,或重装python,然后勾选它即可。
如果你在cmd里输入python,出现以下结果,就说明你的Python已设置好环境变量,可以使用pip安装命令了。
在这里插入图片描述
如果下载完了出现报错,那请再下一遍,如果还没开始下载就报错,那请在代码后面加入 --timeout 1000,就是让下载程序的报错时间调整到1000秒以后。因为命令在15秒之内没有响应,就会停止。如果要下载多个包,那就像下面这样:

pip install pygame autopep8 jinja2 --timeout 1000

5:

我要编写一个对话框,对话框左上角的图标要是我自定义的图标,而不是默认的羽毛图标,我们可以这样设置:

root = tk.Tk()
root.title("TkOS")
root.iconbitmap("tkos.ico")

这里我们尽量选用.ico文件的图片,可以在网上转换,但也有更好用的软件。这里我推荐使用greenfish icon editor Pro,我就用的这个,特好用!~

如果喜欢的话,就收藏一下吧~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值