【Python】实用小脚本

2023-11-19

本文整理了我在学习和工作中用到的实用python脚本,希望也能帮助到需要的小伙伴~

视频格式转换

  1. 安装视频处理库moviepy
pip install moviepy
  1. 安装FFmpeg(FFmpeg是一个开源的多媒体框架,moviepy库依赖于它来处理视频文件),下载参考流程:Mac版 下载安装FFmpeg
  2. 设置IMAGEIO_FFMPEG_EXE环境变量:如果您已经安装了FFmpeg,可以设置IMAGEIO_FFMPEG_EXE环境变量来指定FFmpeg可执行文件的路径。在命令行中执行以下命令:

对于Windows用户:set IMAGEIO_FFMPEG_EXE=path/to/ffmpeg.exe
对于Mac或Linux用户:export IMAGEIO_FFMPEG_EXE=/path/to/ffmpeg

请确保将"path/to/ffmpeg.exe"或"/path/to/ffmpeg"替换为您实际安装的FFmpeg可执行文件的路径。

  1. 编写代码(avi → mp4 为例)
from moviepy.editor import VideoFileClip

def convert_avi_to_mp4(input_file, output_file):
    video = VideoFileClip(input_file)
    video.write_videofile(output_file, codec='libx264')

input_file = 'input.avi'
output_file = 'output.mp4'
convert_avi_to_mp4(input_file, output_file)
  1. 运行以上脚本,即可将avi格式的视频转换为mp4格式的视频
     

pip快速下载命令

-i http://pypi.douban.com/simple --trusted-host pypi.douban.com

多进程处理百万图片数据集


from concurrent.futures import ProcessPoolExecutor
import os
import cv2
from tqdm import tqdm
from PIL import Image

data_path = "data.txt"
save_image_dir = '/data_root/'
save_path = 'data_save.txt'
os.makedirs(save_image_dir, exist_ok=True)

samples = open(data_path).readlines()
col1 = 480
col2 = 864

def process_sample(path):
    path = path.strip()
    img = Image.open(path)
    img_crop = img.crop((0, col1, img.width, col2))
    img_crop_resize = img_crop.resize((384, 384))
    save_name = path.replace('/', '@')
    image_path = save_image_dir + save_name
    img_crop_resize.save(image_path)
    return image_path

if __name__ == '__main__':
    print('os.cpu_count()', os.cpu_count())

    # 创建进程池,根据CPU核心数量决定进程数
    with ProcessPoolExecutor(max_workers=os.cpu_count()) as executor:
        results = list(tqdm(executor.map(process_sample, samples), total=len(samples)))

    # 将结果写入文件
    with open(save_path, "w") as outfile:
        for image_path in results:
            outfile.write(image_path + '\n')

    print('Done!!')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Python】实用小脚本 的相关文章

随机推荐

  • 数据挖掘:数据(数据对象与属性类型)

    一 概述 现实中的数据一般有噪声 数量庞大并且可能来自异种数据源 数据集由数据对象组成 一个数据对象代表一个实体 数据对象 又称样本 实例 数据点或对象 数据对象以数据元组的形式存放在数据库中 数据库的行对应于数据对象 列对应于属性 属性是
  • WIN10下怎么找到MYSQL数据库中存储数据的位置。

    版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net qq 36098284 article details 79841920 今天我想找到
  • C++中Template的用法

    模板 Template 指C 程序设计设计语言中采用类型作为参数的程序设计 支持通用程序设计 C 的标准库提供许多有用的函数大多结合了模板的观念 如STL以及IO Stream 函数模板 函数模板定义一族函数 template1 cpp i
  • LDSC:连锁不平衡回归分析

    欢迎关注 生信修炼手册 LDSC全称如下 linkage disequilibrium score regression 简称LDSR或者LDSC 在维基百科中 对该技术进行了简单介绍 通过GWAS分析可以识别到与表型相关的SNP位点 然而
  • Kettle同步表数据null处理

    kettle同步数据时会将空字符串 自动转换为 null 如果表字段非空则会报错 解决方案如下 方案一 kettle菜单栏 编辑 编辑kettle properties文件 配置项 KETTLE EMPTY STRING DIFFERS F
  • 制作及运行 WebUI(NovelAI)Docker 镜像

    准备 Novel AI 模型文件 下载地址 magnet xt urn btih 5bde442da86265b670a3e5ea3163afad2c6f8ecc 只需要部分下载其中的文件 必须的文件 文件 stableckpt anime
  • Node.js知识点详解(一)基础部分

    模块 Node js 提供了exports 和 require 两个对象 其中 exports 是模块公开的接口 require 用于从外部获取一个模块的接口 即所获取模块的 exports 对象 接下来我们就来创建hello js文件 代
  • AI圈最新深度学习量化算法!

    文章摘自AAAI21 译者 一元 量化交易和投资决策是复杂的金融任务 依赖于准确的股票选择 目前深度学习学习的策略使用于股票的问题的方案面临两个重大局限 他们不直接优化利润方面的投资目标 将每只股票视为独立于其他股票 忽略了相关股票之间的丰
  • SpringCloudGateway路由策略:Nacos同集群优先

    使用版本
  • Python sorted()

    最简单的用法 gt gt gt sorted 36 5 12 9 21 21 12 5 9 36 反向排序的 gt gt gt sorted 36 5 12 9 21 reverse True 36 9 5 12 21 更高级的用法 gt
  • win和linux下如何给Qt应用程序添加图标

    给程序添加图标 包含2个部分 第一个 是可执行文件的图标或桌面快捷方式图标 第二个 是程序运行时窗口的图标 分别如下 接下来 我们分别在windows和linux下 讲解如何设置这2种图标 一 在windows系统下 1 设置应用程序图标
  • kubernates k8s minikube 安装 及使用 CentOS 7

    参考文章 CentOS 7安装minikube 重点参考 https www cnblogs com harmful chan p 12731014 html Linux环境上安装MiniKube https blog csdn net u
  • Gitlab merge 时提示”Source branch does not exist”问题的一个解决方案

    背景 将 gitlab 从服务器上迁到阿里云主机 版本从 9 4 1 ce 0 升级到 11 4 3 ce 0 迁移前后均使用 docker 部署 在云主机上运行后 发现在本地推送新分支到 gitlab 并进行 merge 操作时 merg
  • (嵌入式开发)STM32 网站、开发工具使用、参考、数据手册下载不在求人

    目录 一 ST 常用资源网 1 1 ST 之数据手册与用户手册区别 1 2 如何搜索下载对应的芯片文档呢 二 CubeMX 的下载 2 1 如何下载CubeMX 相关软件 2 2 如何自己安装 2 3 CubeMX 资源包当中有什么 三 K
  • Pandas对Excel行和列进行操作

    获取行数据 filename 测试表 xlsx df pd DataFrame pd read excel filename df2 df df 状态 等待付款 df 状态 已提交 print df loc 6000 tolist 输出第6
  • laravel-admin 在指定的相册下添加照片

    相册与照片是一对多的关系 有以下需求 1 点开一条相册数据看到相册的照片列表 2 为相册添加照片时 表单中要看到相册的基本信息 以下是实现步骤 第一步 构建带参数路由 router gt resource manage albumid ph
  • 常用的chrome配置参数

    让chromedriver不打开网页在后台进行 如果对chrome的启动参数感兴趣可以去看看脑补连接 from selenium import webdriver chrome options webdriver ChromeOptions
  • 解决pycharm安装python第三方库时遇到的问题——pycharm实体环境与虚拟环境

    目录 关于cmd打开cd操作的提示 1 pycharm虚拟环境和本地环境有啥区别 2 实体环境和虚拟环境怎么安装库 3 如何查询实体环境安装的库和虚拟环境安装的库 4 怎么切换本地环境或虚拟环境 5 总结使用pycharm时常见的3中环境
  • Jenkins插件开发之环境构建

    1 环境 1 1 jdk 1 1 1 下载 Java Platform Standard Edition 8 ReferenceImplementations 或其他途径下载 1 1 2 java环境配置 1 1 2 1 右键此电脑 属性
  • 【Python】实用小脚本

    本文整理了我在学习和工作中用到的实用python脚本 希望也能帮助到需要的小伙伴 文章目录 视频格式转换 pip快速下载命令 多进程处理百万图片数据集 视频格式转换 安装视频处理库moviepy pip install moviepy 安装