B站缓存剧集散乱,用python移动,重命名文件

使用python的shutil库

移动

shutil.move(要移动的文件位置,目标位置)

复制

shutil.copy(要移动的文件位置,目标位置)

如shutil.move(r'E:\41942769\test\111.txt', r'E:\41942769\test_2\222.txt')

(这里加在字符串前面的的r是为了防止 '\' 转义)

 

这里是发现b站下载的视频如果有很多集,在文件夹中是如此显示的

 

 

 

 每个视频文件在最后都是0.blv的格式,其他的一些json文件,xml文件是视频信息和弹幕信息。

这里用了两个小脚本把视频都放在一起,并且把视频文件命名位在B站中看到的名字

移动

import shutil
def main(dir, dir1):
    try:
        shutil.move(dir,dir1)
        print(dir1+'完成')
    except:
        print(dir1+'失败')
if __name__=="__main__":
    for i in range(1,40):
        dir = r'E:\41942769\{}\lua.flv.bili2api.80\0.blv'.format(i)
        dir1 = r'E:\41942769\ALL\{}.blv'.format(i)
        main(dir, dir1)

重命名

import json
import shutil
def main(dir,dir2):
    try:
        with open(dir, 'r',encoding='UTF-8') as f:
            text = json.load(f)
            name = text['page_data']['part']
            print(name)
            dir3 = r'E:\41942769\ALL\{}.blv'.format(name)
            shutil.move(dir2,dir3)
    except:
        print('重命名失败')        
    
if __name__=="__main__":
    for i in range(1,40):
        dir = r'E:\41942769\{}\entry.json'.format(i)
        dir2 = r'E:\41942769\ALL\{}.blv'.format(i)
        main(dir,dir2)

这边在分集下的文件夹中的entry.json文件中找到视频名字,用json稍微操作一下就可以得到视频名字。

最后结果是这样的

 

posted @ 2020-03-05 22:36  This_is_Y  阅读(543)  评论(0编辑  收藏  举报