代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Python
】
Linux下歌词编辑器
作者:
子龑
/ 发布于
2013/4/16
/
1067
找时间用Python和bash写了一个编辑器,界面比较简陋,但基本实现了歌词编辑功能。人生又一个第一次,希望大家多多指教。
#!/usr/bin/env python #-*- coding:utf-8 -*- #Filename:lyricseditor #Created:2013.04.14 #Author:子龑 #Email:ziyan433@gmail.com #Version:0.2 # # ''' 使用audacious编辑lrc歌词。 ''' import Tkinter import tkMessageBox from Tkinter import * import os import re os.system("audtool current-song-length-frames>/tmp/tmp.txt") song_length=open("/tmp/tmp.txt").read() os.system("audtool current-song-filename >/tmp/tmp.txt") file_name0=open("/tmp/tmp.txt").read() file_dir=os.path.dirname(file_name0) file_basename=os.path.basename(file_name0) file_name1=os.path.splitext(file_basename) [-0] #分离文件名与扩展名 print ('file_name1='+file_name1) filename='%s%s%s.lrc' %(file_dir,"/",file_name1) #filename='/home/ziyan/Desktop/123.lrc' #fi=open(filename,"r") #lrc=[l.strip() for l in fi.read()] lrcfile= open(filename,"a+") lrc=lrcfile.read() #打开文件,“a+”若文件不存在则创建文件 lrcfile.close() os.system("audtool current-song-length-seconds>/tmp/tmp.txt") song_time_length=open("/tmp/tmp.txt").read() mark="mark" class TEXT: def __init__(self,root): self.text=Tkinter.Text(root) self.text.pack() self.text.insert(INSERT,lrc) self.text.bind("<1>", self.OnMouseDown) self.text.mark_set(mark,1.0) p = Button(root, text = "preview",width=10, command = pre).pack(side=LEFT,fill=X) B = Button(root, text = "Insert", command = Insert_time).pack(side=LEFT) n = Button(root, text = "next", command = next).pack(side=LEFT) save = Button(root, text = "保存", command = saveme).pack(side=RIGHT,fill=X) ###self.text.bind('<F10>',self.pre) def OnMouseDown(self, event): self.text.mark_set(mark,CURRENT) ###def pre(): ###self.text.mark_set(mark,mark + '-1l') def Insert_time(): os.system("audtool current-song-output-length-frames>/tmp/tmp.txt") #tmp=open("/tmp/tmp.txt") current=open("/tmp/tmp.txt").read() current_time=float(current)/float(song_length)*float(song_time_length)-0.2 minute=int(current_time)/60 sec= (int(current_time*100)%6000)/100.0 ###print "second1:"+second #text.insert(INSERT,song_time_length) #t='['+str(minute)+':'+str(second)+']' second= sec if minute<10 : minute='0%s' %(minute) if sec<10 : second='0%s' %(sec) if int(sec*100)%10==0: second='%s0' %(second) ###print "second2:"+second #if int(second.split(".") [-1] )<10 : # second='%s0' %(second) # print "second3:"+second t='[%s:%s]' %(minute,second) ##合并 #i=3 ####j='%s.0'%(line.count) ###text.winfo_pointerxy() ###text.mark_set(t,CURRENT + '+5 chars') #text.insert(j, t)#current_time) print(t) app.text.mark_set(mark,mark + ' linestart') app.text.insert(mark, t)#current_time) app.text.mark_set(mark,mark + '+1l') def pre(): app.text.mark_set(mark,mark + '-1l') #text.tag_add("a",'%s.0' %(line.count) ,'%s.end' %(line.count)) #text.tag_remove("b",'%s.0' %(line.count) ,'%s.end' %(line.count)) #line.count-=1 #if line.count<1: # line.count=1 #text.tag_add("b",'%s.0' %(line.count) ,'%s.end' %(line.count)) def next(event=None): app.text.mark_set(mark,mark + '+1l') #text.tag_remove("b",'%s.0' %(line.count) ,'%s.end' %(line.count)) #text.tag_add("a",'%s.0' %(line.count) ,'%s.end' %(line.count)) #line.count+=1 #text.tag_add("b",'%s.0' %(line.count) ,'%s.end' %(line.count)) def saveme(): f=open(filename,'w') #text_=app.text.get(1.0,END) #print(text_) #print >>f,text_ f.write(app.text.get(1.0,END).encode("UTF-8")) f.close() root=Tkinter.Tk() root.title(filename) app=TEXT(root) #next = Button(root, text = "next2", command = next).pack(side=LEFT) #next.bind('<F10>',next) root.mainloop()
试试其它关键字
歌词编辑器
同语言下
.
比较两个图片的相似度
.
过urllib2获取带有中文参数的url内容
.
不下载获取远程图片的宽度和高度及文件大小
.
通过qrcode库生成二维码
.
通过httplib发送GET和POST请求
.
Django下解决小文件下载
.
遍历windows的所有窗口并输出窗口标题
.
根据窗口标题调用窗口
.
python 抓取搜狗指定公众号
.
pandas读取指定列
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
子龑
贡献的其它代码
(
1
)
.
Linux下歌词编辑器
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3