文章目录

  • 1. 前言
  • 2. Gadgets 0.1介绍
    • 2.1 使用过程概述
  • 3. Gadgets 0.1功能实现
    • 3.1 创建文件
    • 3.2 功能编程
      • 3.2.1 安装
      • 3.2.2 导库
      • 3.2.3 定义函数并实现功能
    • 3.3 主程序
      • 3.3.1 向用户问好并提供指示
      • 3.3.2 填入功能
    • 3.4 装饰
      • 加载
  • 4. 源码展示
    • 4.1 extract_music.py
    • 4.2 loading.py
    • 4.3 Gadgets0.1.py

1. 前言

大家好啊,我是落枕!
最近一直比较忙哈,没有写文章,不好意思……
我今天就和大家分享一个我自己做的项目,名字就叫小工具,Gadgets,希望大家可以喜欢


2. Gadgets 0.1介绍

我的这个小工具在第0版中只有一个功能,就是把音乐从视频里提取出来的功能
开发环境:python3.7
开发工具:pycharm64.exe

2.1 使用过程概述

用户在点开这个文件(或者说是用命令打开了这个文件,后面会细讲),随后会最后向用户确认用户是否确定需要进行下一步(此处是为了防止误触),随后会提示用户输入视频所在的路径(在下一版本中会改进),最后生成mp3文件。(后续的更改文件名过程将会在下一版本中改进)


3. Gadgets 0.1功能实现

3.1 创建文件

这一部很简单,创建一个文件即可。

(此处为iPad备份存档截图)


3.2 功能编程

我们需要用到一个第三方库,pip安装即可

3.2.1 安装

我们要用的是moviepy库,使用pip安装
pip install moviepy
一直等到安装成功即可。


3.2.2 导库

import moviepy.editor as mp

3.2.3 定义函数并实现功能

def extract_music(path):my_clip = mp.VideoFileClip(path)my_clip.audio.write_audiofile('{0}.mp3'.format(path))

最基本的功能就好了,但是在用户输入的路径有误的时候会引发OsError,我们可以使用try-except避免程序终止

import os
import time
def extract_music(path):try:my_clip = mp.VideoFileClip(videos_file_path)my_clip.audio.write_audiofile('{0}.mp3'.format(path))os.system("cls")print("-Completed-")print("-You Can Change The File Name By Yourself")print("-We Will Further Develop This Function-")except OSError:time.sleep(1)os.system("cls")print("-There's Something Wrong-")print("-Please Check Your Path And Try Again-")

3.3 主程序

主程序的命名就用我们整个小工具的名字,Gadgets 0.1
新建一个py文件:

3.3.1 向用户问好并提供指示

我们先定义一个函数,叫做main(),(当然,各位在if __name__ ==“__main__”:下进行程序编写也是可以的)
那么我们的问号环节就不和大家详细说了,随便写就可以,以下只是做一个参考,不喜勿喷。

import timedef main():print("-Welcome Using Gadgets 0.1!-")time.sleep(1)print("-One Service-")print("-1.Extract Music-")a = input("Be Ready To Enter The Program?\n(Y=Yes   Other Key=No):")#进行最后的确认,以防用户误触,如果觉得累赘的话,可以删去a = a.upper()if a == 'Y':. . .#此处需要刚刚我们完成的功能填入else:print("-Thanks For Using-")if __name__ == "__main__":main()

3.3.2 填入功能

刚才的功能其实我们已经实现了,但是缺少人性化的体验,所以我们再一次打开刚刚的extract_music.py,进行功能的人性化设计。
我们定义一个函数,叫做course(),(即“过程”的意思),专门用来存储用户使用过程的设计。以下依旧是仅作参考,不喜勿喷。

def course():os.system('cls')path = input("-Please Give Me The Path Which The Movie Is In-\nEnter Here:)")print("-It May Take For Some Minutes-")print("-When The System is Extracting-")print("-Let's Have A Break-")extract_music(path)

那么我们整个extract_music.py就大功告成了,文末我会附上整个代码。
接下来进行填入

import time
from extract_music import course #这一句千万别漏掉了def main():print("-Welcome Using Gadgets 0.1!-")time.sleep(1)print("-One Service-")print("-1.Extract Music-")a = input("Be Ready To Enter The Program?\n(Y=Yes   Other Key=No):")a = a.upper()if a == 'Y':course()else:print("-Thanks For Using-")if __name__ == "__main__":main()

大部分的功能就好了,我们在做一点细节,比如说加载界面。


3.4 装饰

加载

ps:这一部分并非必要,不喜欢的可以删去,觉得简陋的可以自己改一改
我们再再再再创建一个文件,叫做loading.py
里面填上下面这一段代码,就可以实现加载进度条啦!

import os
import timedef load():print("-Please Wait-")time.sleep(1)print("-We Are Loading For You-")os.system("cls")print("-        |")print("Loading Now")time.sleep(1)os.system("cls")print("--       |")print("Loading Now")time.sleep(1)os.system("cls")print("---      |")print("Loading Now")time.sleep(1)os.system("cls")print("----     |")print("Loading Now")time.sleep(1)os.system("cls")print("-----    |")print("Loading Now")time.sleep(1)os.system("cls")print("------   |")print("Loading Now")time.sleep(1)os.system("cls")print("-------  |")print("Loading Now")time.sleep(1)os.system("cls")print("-------- |")print("Loading Now")time.sleep(1)os.system("cls")print("---------|")print("Loading Completed")time.sleep(1)os.system("cls")

对了,我们还得在主程序里加上这个函数才行。

from loading import load
from extract_music import course
import timedef main():load()time.sleep(1)print("-Welcome Using Gadgets 0.1!-")time.sleep(1)print("-One Service-")print("-1.Extract Music-")a = input("Be Ready To Enter The Program?\n(Y=Yes   Other Key=No):")a = a.upper()if a == 'Y':course()else:print("-Thanks For Using-")if __name__ == "__main__":main()

大功告成!

4. 源码展示

4.1 extract_music.py

import moviepy.editor as mp
import time
import osdef extract_music(path):try:my_clip = mp.VideoFileClip(path)my_clip.audio.write_audiofile('{0}.mp3'.format(path))os.system("cls")print("-Completed-")print("-You Can Change The File Name By Yourself")print("-We Will Further Develop This Function-")except OSError:time.sleep(1)os.system("cls")print("-There's Something Wrong-")print("-Please Check Your Path And Try Again-")def course():os.system('cls')path = input("-Please Give Me The Path Which The Movie Is In-\nEnter Here:")print("-It May Take For Some Minutes-")print("-When The System is Extracting-")print("-Let's Have A Break-")extract_music(path)

4.2 loading.py

import os
import timedef load():print("-Please Wait-")time.sleep(1)print("-We Are Loading For You-")os.system("cls")print("-        |")print("Loading Now")time.sleep(1)os.system("cls")print("--       |")print("Loading Now")time.sleep(1)os.system("cls")print("---      |")print("Loading Now")time.sleep(1)os.system("cls")print("----     |")print("Loading Now")time.sleep(1)os.system("cls")print("-----    |")print("Loading Now")time.sleep(1)os.system("cls")print("------   |")print("Loading Now")time.sleep(1)os.system("cls")print("-------  |")print("Loading Now")time.sleep(1)os.system("cls")print("-------- |")print("Loading Now")time.sleep(1)os.system("cls")print("---------|")print("Loading Completed")time.sleep(1)os.system("cls")

4.3 Gadgets0.1.py

from loading import load
from extract_music import course
import timedef main():load()time.sleep(1)print("-Welcome Using Gadgets 0.1!-")time.sleep(1)print("-One Service-")print("-1.Extract Music-")a = input("Be Ready To Enter The Program?\n(Y=Yes   Other Key=No):")a = a.upper()if a == 'Y':course()else:print("-Thanks For Using-")if __name__ == "__main__":main()

邮箱:fkdlzz@163.com
创作不易,不喜勿喷,欢迎指教!
忘了说一件事情了,我也组了一个python交流群,不同的是,这个群是建在了钉钉上,欢迎加入!
群号: 44827065
进不去的话私聊找我

自制Python小工具(1)——Gadgets 0.1相关推荐

  1. 自制python小工具(2)——Gadgets 0.2

    自制python小工具(2)--Gadgets 0.2 文章目录 自制python小工具(2)--Gadgets 0.2 1. 前言 1.1 上篇 2. Gadgets 0.2更新功能介绍 3. Ga ...

  2. 自制python小工具(3)——Gadgets1.1

    自制python小工具(3)--Gadgets 1.1 文章目录 自制python小工具(3)--Gadgets 1.1 1. 前言 2. 功能实现 2.1 主程序界面 2.1.1 标签与按钮 2.1 ...

  3. 将py文件转换成html,(2条消息)自制 Python小工具 将markdown文件转换成Html文件

    今天看到了一个Python库,名为markdown.瞬间就给了我一个灵感,那就是制作一个将markdown文件转换成html文件的小工具. 我的实验环境操作系统: Windows 7 64位 旗舰版 ...

  4. 自制 Windows 小工具 ———— 文字识别助手

    自制 Windows 小工具 ---- 文字识别助手 背景 问题分析 工具准备 第一部分:屏幕截图的实现 文字识别 结果展示 保持原格式 事件绑定 背景 使用电脑的时候经常遇到图片上满是文字,想复制却 ...

  5. 自制 Windows 小工具 ———— 智能截屏工具

    自制 Windows 小工具 ---- 智能截屏工具 背景 需求分析 环境准备 功能实现 获取截图区域 获取文件保存路径 图像算法 截屏 快捷启动 背景 上网课期间,很多同学(包括老师)都会选择(提倡 ...

  6. python小工具myqr生成动态二维码

    python小工具myqr生成动态二维码 (一)安装 (二)使用 (一)安装 命令: pip install myqr 安装完成后,就可以在命令行中输入 myqr 查看下使用帮助: myqr --he ...

  7. 自己整理实现的python小工具

    文章目录 记录一些自己整理实现的python小工具 python获取文件路径 pytho使用opencv进行图像拼接 记录一些自己整理实现的python小工具 python获取文件路径 因为有的程序需 ...

  8. python小工具—图片转为字符txt

    python小工具-图片转为字符txt 图片转为字符txt python小工具-图片转为字符txt 效果展示 转换图片信息 图片信息转字符 完整代码 效果展示 转换图片信息 将图片的rgb色彩信息转为 ...

  9. 【Python小工具】若干图片合并生成动态图(.gif)

    相信很多学生党.上班族在日常的学习.科研.办公中总会有一些比较特殊的需求,本人作为一个理工科(非计算机相关专业)学生和大家一样.有时好不容易找到了比较心仪的工具,却发现还要收费,质量和使用的便捷性也不 ...

最新文章

  1. Coreseek:indexer crashed神秘
  2. iOS 滚动图滚动到顶部汇总
  3. python转csv_python如何将列表存储为csv文件
  4. 最短路上的统计(Floyd)
  5. app-v 4.6 management server部署(一)
  6. P1010 幂次方 P1022 计算器的改良
  7. 使用skin++进行MFC界面美化范例
  8. Fixjs——显示交互基类InteractiveObject
  9. 《WebGL编程指南》学习笔记——4.绘制一个点
  10. linux vim命令的意思,Linux 中 vim 是什么意思?
  11. UWB源码资料 研创物联源码资料 可二次开发 dwm1000模块 双边双向测距
  12. 网络神偷 v7.6 免费
  13. 友盟推送:测试模式推送完成,但却收不到推送信息
  14. 手把手教你如何免费把多张图片合并为PDF文件,一看就懂。
  15. VS2008打开时出现devenv.exe 应用程序错误 该内存不能为written
  16. MyBatis是如何自动装配的
  17. 计算机小高考VB程序的选择题,2011江苏小高考物理试卷
  18. python实现高校教务管理系统_Python实现新版正方教务系统爬虫
  19. cgb2108-day02
  20. 添加权限,获取到用户信息,就用户当前部门进行下拉选择

热门文章

  1. Storm--介绍/对比
  2. PB中的函数ProfileString
  3. 织梦php安装环境搭建,1.环境的搭建与织梦安装
  4. 对常用软件的评价(TGP腾讯游戏平台)
  5. 信息系统安全等级保护定级报
  6. 计算机三级电气工程及其自动化专业,电气工程及其自动化专业属于什么门类
  7. 垂直行业(新站)SEO流量快速起飞的核心思路
  8. 【产品】产品迭代各部门工作全流程(5年工作经验都在这了=.=)
  9. 攻防世界crypto篇
  10. 传智播客JAVA培训20100524SPRING SECURITY