需求环境
这是公司的一个需求,有一份很庞大的数据由好多视频文件组成,总共有12T左右,视频来源是一些下载的视频素材。每隔一段时间就要将一部分筛选好的视频文件剪切到server02服务器进行转码,筛选没被选中的文件将被删除。从下载的图可以了解到:
 
- serve01,下载服务器,同时还担任筛选的角色;
 - serve02,转码服务器
 - serve03,存储服务器
 
问题与需求
时间一长管理员不记得哪些文件已经被下载过了,哪些文件下载好之后被筛选掉了,哪些文件已经被server02剪切走了。
问题分析
- server01上出现下载重复的问题,按理说server02和server03上面有的文件,不可能在出现在server01上
 - server01上不知道哪些文件下载好之后被筛选掉了;
 - server01上不知道哪些文件已经被server02剪切走了。
 
解决办法
在server01上面创建 == “索引”==,索引分三大类:
- 删除文件索引:筛选没被选中的文件被删除前,创建筛选被过滤掉的文件索引;
 - 转码文件索引:server02上面正在转码的文件索引;
 - 存储文件索引:server03上存储的文件索引
 
索引文件要求:
- 必须是视频文件(管理软件仅识别视频文件);
 - 不能占用太多磁盘空间
 - 遍历方便
 
索引类型
用txt空文件更改后缀为MP4,冒充视频文件,而且几乎是0字节
分别提取:删除文件名、转码文件名、存储文件名
import os
# 将文本内的名称转成一个列表
data = "i38100.txt"        #源数据文件
#提取文件名
with open(data,"r", encoding="UTF-8") as f:
    for line in f:
        in_name = os.path.basename(line)		
        print(in_name)
        #创建文件
        path = "./suoyin/"
        bname=path+in_name
        out_name =bname.strip('\n')
        print(out_name)
		#判断./suoyin/目录是否存在,存在就在其下创建索引,不存在则先创建./suoyin/,再创建索引
        if os.path.exists(path):
            #目录存在则创建文件
            print("文件创建成功")
            f = open(out_name,"w",encoding="UTF-8")
            f.write(out_name)
        else:
            #不存在则先创建目录
            print("没有suoyin目录,正在创建")
            os.makedirs(path)
            f = open(out_name,"w",encoding="UTF-8")
            f.write(out_name)
                


















