当前位置: 首页 > news >正文

Python脚本

update_format.py 

批量转视频格式,超级慢,没什么卵用

import os
import asyncio
import subprocess
import concurrent.futures
import tracemalloctracemalloc.start()# 创建日志文件
log_file = open('conversion_log.txt', 'w')async def convert_mkv_to_mp4(input_file, output_file):command = [r'D:\Python Software\ffmpeg-5.1.2-essentials_build\bin\ffmpeg.exe', '-i', input_file, '-codec:v', 'h264','-codec:a', 'aac', output_file]process = await asyncio.create_subprocess_exec(*command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)stdout, stderr = await process.communicate()# 将stdout和stderr写入日志文件log_file.write(f'STDOUT:\n{stdout.decode()}\n')log_file.write(f'STDERR:\n{stderr.decode()}\n')# 等待子进程完成并获取输出,确保它完成await asyncio.sleep(0)  # 显式等待,可能帮助消除警告return stdout, stderroutput_folder = rf'D:\tjjg_videos'
os.makedirs(output_folder, exist_ok=True)source_folder = rf'E:\下载'async def convert_files():loop = asyncio.get_event_loop()with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:tasks = []for root, dirs, files in os.walk(source_folder):for file in files:if file.endswith('.mkv'):input_file_path = os.path.join(root, file)output_file_path = os.path.join(output_folder, os.path.splitext(file)[0] + '.mp4')# 正确传递参数给 convert_mkv_to_mp4task = await loop.run_in_executor(executor, convert_mkv_to_mp4, input_file_path, output_file_path)tasks.append(task)# 等待所有子任务完成await asyncio.gather(*tasks)if __name__ == '__main__':asyncio.run(convert_files())

update_mp4.py

只批量修改后缀名,但视频属性应该还是原mkv,不过适合我的业务场景

import os
import shutil# 定义源文件夹和目标文件夹的路径
source_folder = r'E:\下载\预算员(土建与装饰)'  # 替换为实际的源文件夹路径
target_folder = r'D:\tjjg_videos'  # 替换为实际的目标文件夹路径# 确保目标文件夹存在,如果不存在则创建
if not os.path.exists(target_folder):os.makedirs(target_folder)# 遍历源文件夹中的所有文件和子文件夹
for root, _, files in os.walk(source_folder):for filename in files:# 检查文件是否是视频文件(可以根据需要添加其他文件扩展名)if filename.lower().endswith(('.avi', '.mkv', '.mpg', '.mpeg', '.wmv', '.mov', '.flv', '.webm')):source_file_path = os.path.join(root, filename)# 创建新的文件名,将后缀改为.mp4new_filename = '预算员(土建与装饰)' + os.path.splitext(filename)[0] + '.mp4'target_file_path = os.path.join(target_folder, new_filename)# # 移动文件并重命名# shutil.move(source_file_path, target_file_path)# 复制文件并重命名shutil.copy(source_file_path, target_file_path)print('拷贝并重命名完成')

upload_mp4.py

掉接口批量上传

import os
import requests
import time# 目标URL
upload_url = "https://xxxxx.xxxxxx.com/xp/uploads/"# 认证 token
token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjk2Mzk5ODAwLCJpYXQiOjE2OTM4MDc4MDAsImp0aSI6IjJmZmZiNmE2N2Q3MzRjODg4YWUzZDI0YzEyYjQwMWMxIiwidXNlcl9pZCI6MywidXNlcm5hbWUiOiJcdTRlOGVcdTZkMGIifQ.0fa2HIGeDupbqD5f6Ed26Le7wD5dEjG-GCZm0-Ap-F8"# 目录包含要上传的.mp4文件
source_directory = r"D:\tjjg_videos"# 遍历目录,上传所有.mp4文件
for root, _, files in os.walk(source_directory):for filename in files:if filename.lower().endswith('.mp4'):file_path = os.path.join(root, filename)# 最多尝试上传三次max_retries = 3retries = 0while retries < max_retries:# 以二进制方式打开文件with open(file_path, 'rb') as file:# 准备请求参数# 构建请求参数payload = {'file': (filename, open(file_path, 'rb')),'resouce': (None, 'video'),}# 设置请求头,包括 Authorizationheaders = {'Authorization': f'{token}'}# 发送POST请求上传文件response = requests.post(upload_url, files=payload, headers=headers)# 检查响应状态码if response.status_code == 200:print(f"成功上传文件: {filename}")print(response.text)breakelse:print(f"上传文件失败: {filename}")print(response.text)retries += 1if retries < max_retries:print(f"重试上传文件: {filename} (第 {retries} 次)")time.sleep(2)  # 等待2秒后重试else:print(f"上传文件失败超过最大重试次数: {filename}")print("上传完成")

del_mp4.py

批量删除垃圾数据

import asyncio
import aiohttp# 目标URL
base_url = "https://xxxx.xxxxxx.com/xp/api/v1/resource/"# 认证 token
token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjk2Mzk5ODAwLCJpYXQiOjE2OTM4MDc4MDAsImp0aSI6IjJmZmZiNmE2N2Q3MzRjODg4YWUzZDI0YzEyYjQwMWMxIiwidXNlcl9pZCI6MywidXNlcm5hbWUiOiJcdTRlOGVcdTZkMGIifQ.0fa2HIGeDupbqD5f6Ed26Le7wD5dEjG-GCZm0-Ap-F8"# 构建要删除的ID范围
start_id = 602
end_id = 2121# 发送DELETE请求删除资源
async def delete_resource(session, resource_id):url = f"{base_url}{resource_id}/"headers = {'Authorization': f'{token}'}async with session.delete(url, headers=headers) as response:if response.status == 204:print(f"成功删除资源: {url}")else:print(f"删除资源失败: {url}")print(await response.text())# 异步删除资源
async def delete_resources():async with aiohttp.ClientSession() as session:tasks = [delete_resource(session, resource_id) for resource_id in range(start_id, end_id + 1)]await asyncio.gather(*tasks)# 执行异步删除操作
if __name__ == "__main__":loop = asyncio.get_event_loop()loop.run_until_complete(delete_resources())loop.close()print("删除完成")

相关文章:

Python脚本

update_format.py 批量转视频格式&#xff0c;超级慢&#xff0c;没什么卵用 import os import asyncio import subprocess import concurrent.futures import tracemalloctracemalloc.start()# 创建日志文件 log_file open(conversion_log.txt, w)async def convert_mkv_t…...

Kotlin的遍历方法

for循环 在下面代码中1…10表示的是1到10&#xff0c;两边都是闭包&#xff0c;输出12345678910 for (i in 1..10) println(i)加上花括号也支持 for (i: Int in 1..10) {println(i)}另外&#xff0c;当对整数进行for循环时&#xff0c;Kotlin还提供了一个step函数来定义迭代的…...

AskIt: Unified Programming Interface for Programming with Large Language Models

本文是LLM系列文章&#xff0c;针对《AskIt: Unified Programming Interface for Programming with Large Language Models》的翻译。 AskIt&#xff1a;用于大型语言模型编程的统一编程接口 摘要1 引言2 动机例子3 设计与实现4 实验评估5 相关工作6 结论 摘要 在不断发展的软…...

【wireshark抓取数据包-PGSQL协议】

测试查看PGSQL协议的网络流量数据明细 &#xff11;&#xff09;捕获过滤的条件设置&#xff0c;tcp.port5432(数据库的端口&#xff09; &#xff12;&#xff09;上面是wireshark的主窗口&#xff0c;分三大主块&#xff1a;Packlist List&#xff08;数据包列表&#xff09…...

【idea学习】

1.debug: 文章详解 2.导入SpringBoot项目 文章详情...

ZooKeeper数据模型/znode节点深入

1、Znode的数据模型 1.1 Znode是什么&#xff1f; Znode维护了一个stat结构&#xff0c;这个stat包含数据变化的版本号、访问控制列表变化、还有时间戳。版本号和时间戳一起&#xff0c;可让Zookeeper验证缓存和协调更新。每次znode的数据发生了变化&#xff0c;版本号就增加。…...

容器编排工具的比较:Kubernetes、Docker Swarm、Nomad

随着容器化技术的普及&#xff0c;容器编排工具成为了现代应用部署和管理的重要组成部分。容器编排工具能够自动化容器的部署、扩展和管理&#xff0c;从而提高应用的可靠性和可伸缩性。在众多的容器编排工具中&#xff0c;Kubernetes、Docker Swarm和Nomad是三个备受关注的主要…...

nginx--技术文档--架构体系--底层核心-原理

Nginx的架构体系可以概括为“一个核心、两个模型。” “一个核心”指Nginx的核心功能&#xff0c;即HTTP请求处理。Nginx作为一个高性能的Web服务器&#xff0c;其核心功能是处理HTTP请求&#xff0c;包括接收请求、解析请求、处理请求和返回响应等。 “两个模型”指Nginx的多…...

Java23种设计模式之【单例模式】

目录 一.单例模式的起源&#xff0c;和应用场景 1.单例模式的前世今生&#xff01; 2.什么是单例模式&#xff1f; 2.1使用单例模式的注意事项 2.2如何理解单例模式&#xff1f; 2.3单例模式的优势以及不足&#xff01; 2.4使用场景 二.实现 1.实现思路 1.1创建一个 S…...

SQLserver基础入门理论(超基础)二

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xf…...

macbookpro怎么删除软件没有鼠标

macbookpro怎么删除软件没有鼠标,macbookpro触摸板可以替代鼠标进行操作。左右键功能与鼠标相同&#xff0c;可用于执行删除操作。此外&#xff0c;还可以利用键盘上的Delete键来删除选中的文件。 删除软件方法 方法1、打开应用程序&#xff0c;键盘按住control&#xff0c;加点…...

华为数通方向HCIP-DataCom H12-821题库(单选题:241-260)

第241题 ​​LS Request​​报文不包括以下哪一字段? A、通告路由器(Advertising Router) B、链路状态 ID (Link Srate ID) C、数据库描述序列号(Database Dascription Sequence lumber) D、链路状态类型 Link state type) 答案:C 解析: LS Request 报文中包括以下字段…...

PHP8内置函数中的变量函数-PHP8知识详解

在php8中&#xff0c;与变量相关的内置函数比较多&#xff0c;本文说一些比较重要的、常见的内置函数。今日着重讲解了5个&#xff0c;分别是&#xff1a;检测变量是否为空的函数empty()、判断变量是否定义过的函数isset()、销毁指定的变量的函数unset()、获取变量的类型的函数…...

9月3日,每日信息差

第一、中国中铁与广州市城中村改造做地主体签署战略合作框架协议。根据协议&#xff0c;双方将积极响应广州市统筹做地推进高质量发展工作精神&#xff0c;充分发挥双方优势资源&#xff0c;共同加大在物业复建安置、基础设施建设、综合开发投资、城中村改造&#xff08;微改造…...

2023年了,java后端还有未来吗?

前言 Java当下确实是比较的内卷&#xff0c;但关键在于个人&#xff0c;可以看看不同地方&#xff08;这里主要举例北上广深一线城市&#xff09;对于Java开发工程师这个职位的具体要求&#xff1a; 在以下北上广深这些一线大城市的面试招聘当中不难看出&#xff0c;凡是工资…...

使用cmake,将github上的某一个库进行集成到vs2022上

可以参考如下链接的内容: (还未完成,将在后序补充) 1.首先使用cmake,得到对应库的lib,include,bin文件夹 可以参考 https://www.youtube.com/watch?vu5-Df1YlxCI 2.现在我用cmake对这个第三方库进行编译&#xff0c;生成了三个文件夹&#xff1a;一个放的是lib文件(lib文件…...

第二张微服务的调用与注册

文章目录 工程导入利用RestTemplate调用服务需求创建RestTemplate的实例到Spring容器使用RestTemplate发送请求消费者和提供者 Eureka注册中心服务远程调用会出现的问题Eureka的结构和作用Eureka的配置过程搭建注册中心服务注册服务发现 Ribbon负载均衡负载均衡原理源码跟踪总结…...

iWatch框架设计

iWatch框架设计 一、项目框架结构设计 1、项目文件介绍 OverSeaProject&#xff1a;是IOS相关文件文件内容iWatchApp和iWatch Extension&#xff1a;是之前使用xcode14之前的xcode创建的360 app的Watch App&#xff0c;产生的文件结构&#xff0c;包含一个app和Extension的ta…...

【python】读取.dat格式文件

import binascii# 打开二进制文件以只读二进制模式 with open(EXCEL/文件.dat, rb) as file:binary_data file.read()print(binary_data)# 将二进制数据转换为十六进制字符串 hex_data binascii.hexlify(binary_data).decode(utf-8) # binary_data 现在包含了文件的二进制内容…...

机器学习课后习题 --- 朴素贝叶斯

&#xff08;一&#xff09;单选题 1.假设会开车的本科生比例是15%&#xff0c;会开车的研究生比例是23%。若在某大学研究生占学生比例是20%&#xff0c;则会开车的学生是研究生的概率是多少&#xff1f; A:80%B:16.6% C:23% D:15% 2.下列关于朴素贝叶斯的特点说法错误的是…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...