ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

改变视频文件二进制值而不影响播放的方法

2022-09-02 20:31:30  阅读:197  来源: 互联网

标签:files include 二进制 filter strs str 视频文件 path 播放


本质是视频文件二进制值后追加特殊符号(如换行符、制表符)的二进制值

import hashlib
import os

def getFilesByDir(target_path, include_str=None, filter_strs=None):
    """
    获取指定目录下所有的文件(不包含以__开头和结尾的文件)或指定格式的文件,若不同目录存在相同文件名,只返回第1个文件的路径
    :param target_path: 查找的目录路径
    :param include_str: 获取包含字符串的名称,不区分大小写
    :param filter_strs: 过滤包含字符串的名称,区分大小写
    """
    if filter_strs is None:
        filter_strs = []

    files = []
    names = os.listdir(target_path)
    for name in names:
        path = os.path.abspath(os.path.join(target_path, name))
        if os.path.isfile(path):
            # 寻找包含指定字符串的文件名
            if include_str is not None and include_str.upper() not in name.upper():
                continue

            # 寻找不包含filter_strs中的字符
            for filter_str in filter_strs:
                if filter_str in name:
                    break
            else:
                files.append(path)
        #递归获取子文件夹里的文件
        # else: files += getFilesByDir(path, include_str=include_str, filter_strs=filter_strs)
    return files

def editBineryOfFiles(files):
    for i in range(len(files)):
        with open(files[i][:files[i].rindex('\\')+1] + str(i) + '.mp4', 'wb') as f:
            with open(files[i], 'rb') as tf:
                f.write(tf.read())
                f.write(b'\n')

target_path = 'D:/'
files = getFilesByDir(target_path, '')
editBineryOfFiles(files)

 

标签:files,include,二进制,filter,strs,str,视频文件,path,播放
来源: https://www.cnblogs.com/uuuxxllj/p/16631933.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有