1、os模块
我们今天需要使用的模块有两个,一个是os模块,这是Python内置的与操作系统功能和文件系统相关的模块,那么我么看一看os模块的操作都有哪些吧!
有一些不好记的操作,我都把英文全名写了出来,懂英文应该就会好记很多。
至于具体的操作,我们就来看一看吧(就不演示了):
首先是获取当前工作路径os.getcwd(),这个直接调用就可以了。
之后是os.listdir(),这个的使用就是把路径放在括号里,返回一个列表(可以自己实操一下)
然后是os.walk(),我们今天就要使用这个函数,它也是把路径放在括号里,之后一层一层的遍历,返回一个元组。
def get_all_file(self):
for root, dirs, files in os.walk(file_dir):
return files # 当前路径下所有非目录子文件
比如上面就是我们代码的一部分,这里是元组拆包的使用,把元组里的路径,文件夹和文件赋给三个变量存储。
之后是os.mkdir(),这个路径可以任意写,==执行之后系统会创建一个文件夹,路径同样是写在括号里==。至于os.rmdir(),就不用多说了吧,把路径写在括号里,系统会移除文件夹。
os.path.isfile()和os.path.isdir()也没什么好说的,把路径写在里面,就可以判断了。
但是拼接和切分的操作略有不同:
拼接(可以用于移动文件):os.path.join(),我们一看就知道需要写入两个路径,不然怎么拼接?所以写法就是
os.path.join(path1,path2)
含义就是把path2的路径追加到path1后面
切分:os.path.split(),切分只需要写入一个路径,含义是将路径path拆分成绝对路径和文件名两部分。
当然了,os模块的使用还有很多,我们只介绍了我们经常用到的几种。
2、moviepy模块
MoviePy 是一个用于视频编辑的 python 模块,你可以用它实现一些基本的操作(比如视频剪辑,视频拼接,插入标题),还可以实现视频合成,还有视频处理,抑或用它加入一些自定义的高级的特效。
我们就看看moviepy有哪些功能我们经常使用:
视频读取:
clip = VideoFileClip("filename")
这个就不多说了。
视频剪辑:
clip2 =clip.subclip(3,10)
将视频的3-10秒的内容剪切出来 。
视频合并:
totalclip = concatenate_videoclips([clip1,clip2],method = 'compose')
将列表中的视频合并,可以包含多个,method不能少,避免格式错误。
改变分辨率:
clip.resize( newsize = (width,height) )
后面的width和height就是新的分辨率。
多图片转视频(可以用来做gif):
clip = ImageSequenceclip ( [ jpg1,jpg2,jpg3 .... ] ,fps = 1)
这里的fps可以自己定
两个视频一个画面(也许是学习大师?)
CompositeVideoClip ([clip1.set_pos("left","center"),clip2.set_pos("right","center") ]size=(myclip2.w+myclip3.w, myclip2.h)
笔者也写了一个项目实操哦,就是计算MP4时长,这里把链接放下面,感兴趣的可以看看: