一个用数据库里面的mp3 url下载地址下载并播放的程序

# _*_ coding:utf-8 _*_from Tkinter import *import tkMessageBoximport jsonimport mp3playimport reimport osimport sysimport urllib2import pygameimport timeimport pymysql

reload(sys) #数据库汉子检索sys.setdefaultencoding(‘utf8‘)

conn=pymysql.connect(host=‘127.0.0.1‘, user=‘root‘, passwd=‘*******‘, db=‘data‘,charset="utf8")#连接数据库cur=conn.cursor()#创建光标def music():    text = entry.get()    text = text.encode(‘utf-8‘)    if not text:        tkMessageBox.showinfo(‘温馨提示‘, ‘您可以输入以下内容进行搜索\n1.歌曲名\n2.歌手名\n3.部分歌词‘)        return    else:        sql = ("select * from music where song_name=%s")        cur.execute(sql, text)        line = cur.fetchall()        if line==():            b= "数据库中没有你要找的歌曲"            a="请重新输入..."

listbox.delete(0, listbox.size())            listbox.insert(END, b +"......"+ a)        else:            for row in line:                name=row[1]                url=row[2]                data=urllib2.urlopen(url).read()                path = "C:\Users\Administrator\Music/songs"                if not os.path.isdir(path):                    os.mkdir(path)                f = open(path + ‘/‘ +name + ‘.mp3‘, ‘wb‘)                f.write(data)#写入本地文件                f.close()                listbox.delete(0, listbox.size())                listbox.insert(END,name +"url地址"+url)def play():#播放功能    text = entry.get()    text = text.encode(‘utf-8‘)    sound_file=(‘C:\Users\Administrator\Music\songs/%s.mp3‘%text)    mixer=pygame.mixer    mixer.init()    track = pygame.mixer.music.load(sound_file)    pygame.mixer.music.play(loops=-1)def stop():#停止功能    pygame.mixer.music.stop()root = Tk()root.title("音乐搜索")root.geometry(‘+300+100‘)entry = Entry(root)entry.pack()button = Button(root, text=‘搜索歌曲‘, command=music)button.pack()button = Button(root, text=‘播放歌曲‘, command=play)button.pack()button = Button(root, text=‘暂停‘, command=stop)button.pack()listbox = Listbox(root, width=100)listbox.pack()mainloop()
时间: 2024-10-12 22:57:34

一个用数据库里面的mp3 url下载地址下载并播放的程序的相关文章

Mysql数据库里面的String类型依照数字来排序以及按时间排序的sql语句

今天做项目的时候,遇到个小小的问题,在数据库中查询的时候,要用String类型的ID进行一下排序!(注:ID字段为 varchar 类型) 解决的方法: 如: Sql代码 SELECT * FROM  Student WHERE 1 = 1 ORDER BY -ID DESC 或者: Sql代码 SELECT * FROM  Student WHERE 1 = 1 ORDER BY (ID + 1) mysql时间格式化,按时间段查询MYSQL语句   2011-04-15 09:01:08| 

Mysql数据库里面的String类型按照数字来排序以及按时间排序的sql语句

今天做项目的时候,遇到个小小的问题,在数据库中查询的时候,要用String类型的ID进行一下排序!(注:ID字段为 varchar 类型) 解决办法: 如: Sql代码 SELECT * FROM  Student WHERE 1 = 1 ORDER BY -ID DESC 或者: Sql代码 SELECT * FROM  Student WHERE 1 = 1 ORDER BY (ID + 1) mysql时间格式化,按时间段查询MYSQL语句   2011-04-15 09:01:08| 

nodejs分离html文件里面的js和css

摘要: 本文要实现的内容,使用nodejs 对文件的增删改查,演示的例子->分离出一个html 文件里面的script 和style 里面的内容,然后单独生成js文件和css 文件.中间处理异步的api->async/await , Promise 项目托管:extract-js-css , 欢迎star 直接上代码: // import fs from 'fs' var fs = require('fs') // import csscomb from 'csscomb' // var cs

Secure CRT 如何连接虚拟机里面的CentOS系统 当主机没有网的时候 作者原创 欢迎转载

当家里没有网络的时候: 1.第一步:首先保证主机所有的网卡都没有分享连接给VM8这一块网卡 如图:这个设置就保证了无线网络连接这块网卡没有分享给VM8这一块网卡 第二步:启用VM8这一块网卡,右键enable 第三步:查看VM8这块网卡的IP地址 网关地址 DNS服务器地址 ip地址是:192.168.6.1 第四步:虚拟机里面的设置记得选择VM8(NAT)这个选项 第五步:修改虚拟机里面的CentOS的IP地址,记得和VM8这块网卡的IP地址在一个网段上,我们这里设置为192.168.6.10

网易云音乐MP3外链地址

? 网易云音乐MP3外链地址下载方法很简单的方法: 下载公式:http://music.163.com/song/media/outer/url?id=ID数字.mp3 把上面红色部分(ID数字)换成网易云播放页面的id即可. ? 文章来源:刘俊涛的博客 欢迎关注公众号.留言.评论,一起学习. __________________________________________________________________________________ 若有帮助到您,欢迎捐赠支持,您的支持是

jQuery Form 表单提交插件----Form 简介,官方文档,官方下载地址

 一.jQuery Form简介 jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Form有两个核心方法 -- ajaxForm() 和 ajaxSubmit(), 它们集合了从控制表单元素到决定如何管理提交进程的功能.另外,插件还包括其他的一些方法: formToArray().formSerialize().fieldSerialize().fieldValue().clearForm().clearFields(

提取数据库字段里面的值,并改变+图片懒加载,jquery延迟加载

要求:手机端打开某个页面的详细信息,因为网速或者别的原因,响应太慢,因为图片大的原因,希望先进来,图片在网页运行的情况再慢慢加载(jquer延迟加载) http://www.w3cways.com/1765.html()  困难:因为页面的图片是用编辑器加进去的        :图片与文字存到数据库的字段中 :实现思路:从数据库中读取这个字段,把字段里面的src替换成lazyload 然后再返回给页面 这里主要讲是怎么把从数据库取到的数据里面的字段里面的值替换然后与页面直接的数据转换 首先 pu

QVariant(相当于是Java里面的Object,起到一个数据类型“擦除”的作用,可以使用Q_DECLARE_METATYPE进行注册)

=QVariant= [%这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型“擦除”的作用.比如我们的 table单元格可以是string,也可以是int,也可以是一个颜色值,那么这么多类型怎么返回呢?于是,Qt提供了这个QVariant类型,你可 以把这很多类型都存放进去,到需要使用的时候使用一系列的to函数取出来即可.比如你把int包装成一个QVariant,使用的时候要用 QVariant::toInt()重新取出来.这里需要注意的是,Q

在数据库里彻底删除一个虚拟机

mysql> SET FOREIGN_KEY_CHECKS = 0; 修改KEY值,使此库变为可直接删除状态 Query OK, 0 rows affected (0.00 sec) mysql> delete from instances  where uuid="3ab73261-82ce-4b9a-9a1c-519624e19dc2"; Query OK, 1 row affected (0.03 sec) mysql> SET FOREIGN_KEY_CHEC