自制python小工具(2)——Gadgets 0.2
1. 前言
大家好呀,我是落枕! 这是我这个系列的第二篇文章,希望大家可以多多支持,感谢感谢,不喜勿喷(狗头保命) 当在下还在创作上一篇的时候,我就马不停蹄的开始搞我的Gadgets0.2,在不久前,我的Gadgets0.2已经完工啦!我就马上开动了这个文章和大家分享,希望大家可以喜欢哦!
1.1 上篇
自制python小工具(1)——Gadgets 0.1
2. Gadgets 0.2更新功能介绍
此次更新,在最后一处增加了更改文件名的功能,其次优化了选择文件的过程,将复制路径,改成了选择文件,减少路径错误的发生几率,当然,如果用户选择的是一个文件夹或者其他的一些情况,还是会发生OsError ,但是由于我们已经在之前用了try-except 进行避免了,这种程序崩溃的情况还是很少会出现的。再其次,我优化了一下加载项,让这个加载项更像一个加载条。
3. Gadgets 0.2更新功能实现
我们首先将上一次的文件夹复制一下,对复制好的文件进行更改
3.1 文件选择框选择文件
这一个是落枕偶然间想到的,因为我觉得复制路径太烦了,所以我就想有什么更好的选择文件的方法,恰好最近在学tkinter 就有了灵感。 我们需要的是tkinter.filedialog.askopenfilename() 来获取源文件,因为这个可以调出一个文件选择框,将这个赋值到一个变量path 中。
os.system("cls")
print("-Please Give Me The Movie-")
root = tkinter.Tk()
path = tkinter.filedialog.askopenfilename()
root.destroy()
把我们之前的代码也给加上去:
import tkinter.filedialog
import os
import time
import moviepy.editor as mp
def extract_audio():
try:
os.system("cls")
print("-Please Give Me The Movie-")
root = tkinter.Tk()
path = tkinter.filedialog.askopenfilename()
root.destroy()
print("-It May Take For Some Minutes-")
print("-When The System is Extracting-")
print("-Let's Have A Break-")
my_clip = mp.VideoFileClip(path)
my_clip.audio.write_audiofile(f'{path}.mp3')
print("-Completed-")
except OSError:
time.sleep(1)
os.system("cls")
print("-There's Something Wrong-")
print("-Please Check Your Path And Try Again-")
我们的文件选择就这样搞好了,大家觉得有什么不妥之处可以在评论区或者私信找我哦!
3.2 更改文件名
这一环节是我新加上去的,所以我们来看一下它的基础框架。
3.2.1 更改文件名的基本实现方法
由于这是对电脑上的文件夹里面的文件做手脚,那么自然而然需要用到我们的os 系统模块,那我们就看一下这一步的实现方法 ps :此处参考了七天笔记本的博客《python更改文件名》在此向这位博主致谢。
import os
File_path=r"F:\data"
os.chdir(File_bpath)
old="Old_File_Name.mp3"
new="New_File_Name.mp3"
os.rename(old,new)
注释都标好了,应该都看得懂。
3.2.2 Gadgets 0.2 中的重命名操作实现
我们使用moviepy生成的音频文件文件名是不确定的,在我们的代码中,生成的音频文件名都是源文件名 +.mp3 正是因为源文件名不同,所以我们需要一系列操作来定位文件的路径。 在上面的代码中,我们先要让python找到路径,在进行改名,那么因为我们的音频文件是和源文件处于同一个目录之下,我们已经有了源文件的路径(即path )我们将最后源文件那一项给去掉就可以。 这里我用了一个拆分成列表,去除最后一项,再连接成字符串的方式。
old_name_of_the_file = path + ".mp3"
path_list = path.split("/")
path_list.pop()
path1 = "/".join(path_list)
rename = input("-Please Enter The File Name-")
rename = rename + ".mp3"
rename_path = r'{0}'.format(path1)
os.chdir(rename_path)
old = old_name_of_the_file
new = rename
os.rename(old, new)
print("-Rename Operation Is Completed-")
time.sleep(3)
我们的extract_audio 就完工啦~(上一期我们是extract_music 但是细想想还是audio更合适,麻烦各位可以改一改,或者复制文末的源码即可) 文末有源码,直接复制也行。
3.3 加载项视觉优化
说是说优化其实也没优化多少,就是稍微改了一下样式而已,加了个箭头,老规矩,直接贴源码
import os
import time
def load():
print("-Please Wait-")
time.sleep(1)
print("-We Are Loading For You-")
time.sleep(1)
os.system("cls")
print("-> |")
print("Loading Now")
time.sleep(3)
os.system("cls")
print("--> |")
print("Loading Now")
time.sleep(0.5)
os.system("cls")
print("---> |")
print("Loading Now")
time.sleep(0.5)
os.system("cls")
print("----> |")
print("Loading Now")
time.sleep(0.5)
os.system("cls")
print("-----> |")
print("Loading Now")
time.sleep(2)
os.system("cls")
print("------> |")
print("Loading Now")
time.sleep(1)
os.system("cls")
print("-------> |")
print("Loading Now")
time.sleep(0.5)
os.system("cls")
print("--------> |")
print("Loading Now")
time.sleep(5)
os.system("cls")
print("--------->|")
print("Loading Completed")
time.sleep(1)
4. 源码展示
4.1 Gadgets 0.2 .py
from loading import load
from extract_audio import extract_audio
import time
import os
def main():
load()
time.sleep(1)
os.system("cls")
print("-Welcome Using Gadgets 0.2!-")
time.sleep(1)
print("-One Service-")
print("-1.Extract Audio-")
a = input("Be Ready To Enter The Program?\n(Y=Yes Other Key=No):")
a = a.upper()
if a == 'Y':
extract_audio()
else:
print("-Thanks For Using-")
time.sleep(1)
if __name__ == "__main__":
main()
4.2 extract_audio.py
import tkinter.filedialog
import os
import time
import moviepy.editor as mp
def extract_audio():
try:
os.system("cls")
print("-Please Give Me The Movie-")
root = tkinter.Tk()
path = tkinter.filedialog.askopenfilename()
root.destroy()
print("-It May Take For Some Minutes-")
print("-When The System is Extracting-")
print("-Let's Have A Break-")
my_clip = mp.VideoFileClip(path)
my_clip.audio.write_audiofile(f'{path}.mp3')
print("-Completed-")
old_name_of_the_file = path + ".mp3"
path_list = path.split("/")
path_list.pop()
path1 = "/".join(path_list)
rename = input("-Please Enter The File Name-")
rename = rename + ".mp3"
rename_path = r'{0}'.format(path1)
os.chdir(rename_path)
old = old_name_of_the_file
new = rename
os.rename(old, new)
print("-Rename Operation Is Completed-")
time.sleep(3)
except OSError:
time.sleep(1)
os.system("cls")
print("-There's Something Wrong-")
print("-Please Check Your Path And Try Again-")
4.3 loading.py
import os
import time
def load():
print("-Please Wait-")
time.sleep(1)
print("-We Are Loading For You-")
time.sleep(1)
os.system("cls")
print("-> |")
print("Loading Now")
time.sleep(3)
os.system("cls")
print("--> |")
print("Loading Now")
time.sleep(0.5)
os.system("cls")
print("---> |")
print("Loading Now")
time.sleep(0.5)
os.system("cls")
print("----> |")
print("Loading Now")
time.sleep(0.5)
os.system("cls")
print("-----> |")
print("Loading Now")
time.sleep(2)
os.system("cls")
print("------> |")
print("Loading Now")
time.sleep(1)
os.system("cls")
print("-------> |")
print("Loading Now")
time.sleep(0.5)
os.system("cls")
print("--------> |")
print("Loading Now")
time.sleep(5)
os.system("cls")
print("--------->|")
print("Loading Completed")
time.sleep(1)
邮箱:fkdlzz@163.com 创作不易,不喜勿喷,欢迎指教! 忘了说一件事情了,我也组了一个python交流群,不同的是,这个群是建在了钉钉上,欢迎加入! 群号: 44827065 进不去的话私聊找我
感谢大家的支持! 落枕先退一步啦!
|