平时会从bilibili上面下载视频教程,然后拷到电脑上看。因为深圳这边的宽带太贵了,只能用手机无线流量将就着。所以从手机内存里拷出来的文件目录是没有中文标题的,总是一个个点开实在麻烦。才有了写这个python小工具。
#coding:utf8
import os
import re
import json
import shutil
'''
如要使用python2运行会报错,因为编号的问题,python3默认直接utf8。
这是通过os.walk()获取的信息,返回的是一个迭代器。
('/home/chueng/Documents/37418274', ['1', '11', '4', '3', '7', '10', '6', '9', '12', '5', '2', '8'], [])
('/home/chueng/Documents/37418274/1', ['lua.flv.bili2api.80'], ['entry.json', 'danmaku.xml'])
('/home/chueng/Documents/37418274/1/lua.flv.bili2api.80', [], ['index.json', '0.blv', '0.blv.4m.sum'])
这个程序仅支持单个blv文件(b站上面只有单视频的文件才能选择加速播放)
以后需要补充的功能:
1、支持多个视频源文件
2、支持多种视频格式
3、程序完成后再自动把多余的文件删除
'''
# 手动修改这里的路径
# 这个是bilibili的视频文件项目目录“37423413”
PATH_ = '/home/chueng/Documents/37423413'
# 这个是整理后视频存放的目录
PATH_SAVE = '/home/chueng/Documents/'
def main():
PATH_walk = os.walk(PATH_)
# 用于记录视频的目录名称
title = ''
for i in PATH_walk:
if len(i[2]) == 0:
continue
if len(i[1]) > 0:
fileName_in_jsonfile = i[0]+'/'+i[2][0]
with open(fileName_in_jsonfile) as f:
content = json.loads(f.read())
fileName = content['page_data']['part']
if title == '':
title = content['title']
oldFileName_path = i[0]+'/'+i[1][0]+'/'+'0.blv'
newFileName_path = i[0]+'/'+i[1][0]+'/'+fileName
os.renames(oldFileName_path, newFileName_path)
shutil.move(newFileName_path, PATH_)
os.renames(PATH_, PATH_SAVE+title)
if __name__ == '__main__':
main()