pythpon基础:创建文件索引升级版

需求环境

这是公司的一个需求,有一份很庞大的数据由好多视频文件组成,总共有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)

猜你喜欢

转载自blog.csdn.net/annita2019/article/details/128762179