星空体育全站(中国)官方网站

s

星空体育全站该工具的起因是作者发现一首网易云收藏的歌居然和昨天听到的不一样了,于是想到从缓存文件提取原歌曲。实际效果是这样的:图片下载地址在这里:原作者链接:https://www.123pan.com/s/TKR5Vv-rfr5v.html提取码:7AjK分享链接(包含dll):https://www.123pan.com/s/Y4kqVv-Mdsbv.html如果你是一位大神,想要自己魔改的话:界面工具使用的tkinter,核心代码就是ucToFlac这个函数,将指定文件按字节与0xA3进行异或,并对文件格式进行修改。importosimporttkinterastkfromtkinterimportfiledialogfromtkinter.scrolledtextimportScrolledTextimportthreadingdefgetAllFiles(path):#返回指定目录下的所有文件名return[os.path.join(path,f)forfinos.listdir(path)ifos.path.isfile(os.path.join(path,f))]defisUcExtension(file):#判断是否是.uc文件returnfile.endswith('.uc!')defucToFlac(file,output_dir):#将指定文件按字节与0xA3进行异或,并对文件格式进行修改withopen(file,'rb')asfSource:content=bytearray(fSource.read())forindexinrange(len(content)):content[index]^=0xA3#确保输出文件名正确处理,只保留一个.mp3后缀#先移除".uc!"后缀,然后检查并处理重复的.mp3后缀output_file_base=file[:-4]#移除".uc!"后缀ifoutput_file_base.endswith('.mp3'):output_file_name=output_file_base#已经是.mp3结尾,无需改动else:output_file_name=output_file_base+'.mp3'#添加.mp3后缀output_file=os.path.join(output_dir,os.path.basename(output_file_name))withopen(output_file,'wb')asfOut:fOut.write(content)returnoutput_filedefconvertFilesThread(input_dir,output_dir):ifnotos.path.isdir(input_dir)ornotos.path.isdir(output_dir):logMessage("错误:输入或输出目录无效n")returnfiles=getAllFiles(input_dir)forfileinfiles:ifisUcExtension(file):output_file=ucToFlac(file,output_dir)logMessage(os.path.basename(output_file)+'转换成功n')defconvertFiles():input_dir=input_dir_entry.get()output_dir=output_dir_entry.get()#创建并启动一个新线程来执行耗时的转换任务threading.Thread(target=convertFilesThread,args=(input_dir,output_dir)).start()defselectInputDir():dirname=filedialog.askdirectory()ifdirname:input_dir_entry.delete(0,tk.END)input_dir_entry.insert(0,dirname)defselectOutputDir():dirname=filedialog.askdirectory()ifdirname:output_dir_entry.delete(0,tk.END)output_dir_entry.insert(0,dirname)deflogMessage(message):#在文本框中显示信息iflog_text:log_text.config(state=tk.NORMAL)log_text.insert(tk.END,message)log_text.config(state=tk.DISABLED)log_text.see(tk.END)#创建GUI界面root=tk.Tk()root.title("UC文件转MP3工具")#使用grid布局tk.Label(root,text="输入目录:").grid(row=0,column=0,sticky='e')input_dir_entry=tk.Entry(root,width=50)input_dir_entry.grid(row=0,column=1)tk.Button(root,text="选择",command=selectInputDir).grid(row=0,column=2)tk.Label(root,text="输出目录:").grid(row=1,column=0,sticky='e')output_dir_entry=tk.Entry(root,width=50)output_dir_entry.grid(row=1,column=1)tk.Button(root,text="选择",command=selectOutputDir).grid(row=1,column=2)tk.Button(root,text="开始转换",command=convertFiles).grid(row=2,column=0,columnspan=3)#增加一个ScrolledText组件来显示转换日志log_text=ScrolledText(root,height=10)log_text.grid(row=3,column=0,columnspan=3,sticky='nsew')#配置行列权重,确保GUI元素在窗口调整大小时表现良好root.grid_rowconfigure(3,weight=1)root.grid_columnconfigure(1,weight=1)root.mainloop()最后,如果遇到了api-ms-win-core-path-l1-1-0.dll丢失的问题,可以打开下面的网址下载,或者使用自己喜欢的工具进行下载。https://www.dll-files.com/api-ms-win-core-path-l1-1-0.dll.html图片也可以直接通过下面的链接下载:https://www.123pan.com/s/Y4kqVv-Mdsbv.html作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~日常生活中,经常会遇到一些不起眼的小物件,初看不经意,细细了解之后,才发现小小的物件背后也有大大的设计。这就要说到今天的主角——途耐数码夹,这是一款来自途耐品牌的不锈钢数码夹。拿到手以后发现是一套四个色。外包装采用的是传统的纸盒包装,黑色主色调的包装盒,没有过多的渲染,只在背面用标签说明了内部产品信息。夹子本身设计相当简约,只在正面顶部激光打印出品牌名称,LOGO下方分布有两个减重的圆孔,夹子虽然很轻,厂家依然做了减重,提倡轻量化的当下,确实用心了。背部只有3M背贴,再无其余装饰。夹子本体采用的是420J2型不锈钢,也就是马氏体不锈钢,不同于生活中常见的304不锈钢,这是可以用吸铁石吸附的一种不锈钢类型,至于为什么不选择304不锈钢,是因为数码夹在加工和使用过程,不断掰动的动作决定。经过热处理后的马氏体不锈钢,具有良好的硬度和韧性,确保在合理的使用中尽量不出现掰断的状况。数码夹四个款分别是——黑钛、镜光、彩钛和蓝钛。虽然是四个夹子,依然采用了四种表面处理方式。黑钛款——在夹子表面喷砂处理后再次镀上黑钛,表面呈现出哑光的效果;镜光款——保留了不锈钢材料的本色,仅对表面做了镜面抛光,表面可反光;蓝钛款——同样是对表面做了镜面抛光后,电镀出的表面蓝色效果;彩钛款——彩钛款同样是镜面抛光后,电镀,却别在于它电镀后呈现出流光溢彩的表面,而不仅仅是单一的颜色,彩钛还有一大特征是每款产品的颜色花纹都不一致。数码夹的外观尺寸官方给出的数据是66.4*15*9mm,游标卡尺实测长度与官方数据基本一致。宽度同样与官方数据保持一致。只是厚度实测为6mm,不知道是不是标注错误,还是笔误。这次测量用的机械游标卡尺,度数由于手机镜头的原因,看起来有些许偏差,下一回,争取换上数显的测量读数也更方便。夹子背后是已经贴好的3M背贴,尺寸为1.2*4.2cm,用的时候只需要轻轻揭开红色表面,粘贴在物体表面就好。粘贴前需要处理干净表面,以此确保粘贴的更紧密。数码夹本体重量方面官方给出的数值是11g,实际数码夹已经贴上了3M背贴,实测四个重量分别11.9/12.2/11.8/11.8g,重量基本一致。习惯电子支付的今天,有时候出门还是得备些零钱和各种卡片,这实话如果换上传统的钱包,往往出现钱包里的钱还没钱包本身值钱的场面,这是一款简易轻便的钱夹就很有必要了。掏出途耐数码夹,轻轻的夹住少量的纸币和银行卡,会员卡,饭卡之类就相当应景了,看似简单,却足以应付日常的通勤需求。不管是放在包里,还是直接塞进口袋都不会占用太大地方,相比于鼓鼓囊囊的钱包,钱夹显得更隐蔽更低调。不知道习惯把手机塞口袋的男同胞们有没有这样的烦恼:直接把手机塞进钱包确实方便,可要拿出来时,往往因为口袋过深,裤子太紧摸索半天。途耐数码夹在这类场景下也很合用,只需要揭开3M背贴,把数码夹贴在手机壳背后,塞进口袋时自然就挂在了口袋上。需要拿取时,方便快捷,告别了以往一通乱摸的方式。正打字时,抬头看见了书架上的对讲机,这也是当年的爱好呀。于是拿过来,一顿捣鼓,顺力的给对讲机背面也贴上了数码夹。这下再出门带着可以直接把对讲机挂在胸前的户外包肩带上。逼格一下就有了。这里也要提醒大家,贴之前注意看下自己的对讲机,贴了以后是否影响电池充电。如果背贴的长度确实过长影响充电也没关系,可以截断背贴,只留着需要的长度即可。这款途耐数据夹的分享就到这了,其实它还有很多用途等待去发现、去探索。工具本身存在的意义就是改进生活习惯方式。看似很简单的一个小夹子也有这么多道道,最后也希望途耐能不断推陈出新,推出更多有意思的小玩意儿,小工具。

该工具的起因是作者发现一首网易云收藏的歌居然和昨天听到的不一样了,于是想到从缓存文件提取原歌曲。实际效果是这样的:图片下载地址在这里:原作者链接:https://www.123pan.com/s/TKR5Vv-rfr5v.html提取码:7AjK分享链接(包含dll):https://www.123pan.com/s/Y4kqVv-Mdsbv.html如果你是一位大神,想要自己魔改的话:界面工具使用的tkinter,核心代码就是ucToFlac这个函数,将指定文件按字节与0xA3进行异或,并对文件格式进行修改。importosimporttkinterastkfromtkinterimportfiledialogfromtkinter.scrolledtextimportScrolledTextimportthreadingdefgetAllFiles(path):#返回指定目录下的所有文件名return[os.path.join(path,f)forfinos.listdir(path)ifos.path.isfile(os.path.join(path,f))]defisUcExtension(file):#判断是否是.uc文件returnfile.endswith('.uc!')defucToFlac(file,output_dir):#将指定文件按字节与0xA3进行异或,并对文件格式进行修改withopen(file,'rb')asfSource:content=bytearray(fSource.read())forindexinrange(len(content)):content[index]^=0xA3#确保输出文件名正确处理,只保留一个.mp3后缀#先移除".uc!"后缀,然后检查并处理重复的.mp3后缀output_file_base=file[:-4]#移除".uc!"后缀ifoutput_file_base.endswith('.mp3'):output_file_name=output_file_base#已经是.mp3结尾,无需改动else:output_file_name=output_file_base+'.mp3'#添加.mp3后缀output_file=os.path.join(output_dir,os.path.basename(output_file_name))withopen(output_file,'wb')asfOut:fOut.write(content)returnoutput_filedefconvertFilesThread(input_dir,output_dir):ifnotos.path.isdir(input_dir)ornotos.path.isdir(output_dir):logMessage("错误:输入或输出目录无效n")returnfiles=getAllFiles(input_dir)forfileinfiles:ifisUcExtension(file):output_file=ucToFlac(file,output_dir)logMessage(os.path.basename(output_file)+'转换成功n')defconvertFiles():input_dir=input_dir_entry.get()output_dir=output_dir_entry.get()#创建并启动一个新线程来执行耗时的转换任务threading.Thread(target=convertFilesThread,args=(input_dir,output_dir)).start()defselectInputDir():dirname=filedialog.askdirectory()ifdirname:input_dir_entry.delete(0,tk.END)input_dir_entry.insert(0,dirname)defselectOutputDir():dirname=filedialog.askdirectory()ifdirname:output_dir_entry.delete(0,tk.END)output_dir_entry.insert(0,dirname)deflogMessage(message):#在文本框中显示信息iflog_text:log_text.config(state=tk.NORMAL)log_text.insert(tk.END,message)log_text.config(state=tk.DISABLED)log_text.see(tk.END)#创建GUI界面root=tk.Tk()root.title("UC文件转MP3工具")#使用grid布局tk.Label(root,text="输入目录:").grid(row=0,column=0,sticky='e')input_dir_entry=tk.Entry(root,width=50)input_dir_entry.grid(row=0,column=1)tk.Button(root,text="选择",command=selectInputDir).grid(row=0,column=2)tk.Label(root,text="输出目录:").grid(row=1,column=0,sticky='e')output_dir_entry=tk.Entry(root,width=50)output_dir_entry.grid(row=1,column=1)tk.Button(root,text="选择",command=selectOutputDir).grid(row=1,column=2)tk.Button(root,text="开始转换",command=convertFiles).grid(row=2,column=0,columnspan=3)#增加一个ScrolledText组件来显示转换日志log_text=ScrolledText(root,height=10)log_text.grid(row=3,column=0,columnspan=3,sticky='nsew')#配置行列权重,确保GUI元素在窗口调整大小时表现良好root.grid_rowconfigure(3,weight=1)root.grid_columnconfigure(1,weight=1)root.mainloop()最后,如果遇到了api-ms-win-core-path-l1-1-0.dll丢失的问题,可以打开下面的网址下载,或者使用自己喜欢的工具进行下载。https://www.dll-files.com/api-ms-win-core-path-l1-1-0.dll.html图片也可以直接通过下面的链接下载:https://www.123pan.com/s/Y4kqVv-Mdsbv.html作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~星空体育全站

作者最新文章

作者相关文章

热点推荐 欧洲杯开户平台|皇冠信用盘平台|欧洲杯竞猜平台|皇冠球盘官网|欧洲杯竞猜平台|外围足球APP下载|星空体育app下载|皇冠球盘app|足球在哪里押球|beat365唯一官网app下载|欧洲杯押注app官网|星空官网下载|开云官方平台app官方入口|欧洲杯线上买球|欧洲杯下单app
返回顶部