You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python视频处理中如何生成与输入视频同名的.txt文件?

实现输出TXT文件名与输入视频文件名一致的解决方案

我来帮你搞定这个需求!核心思路就是从输入视频的路径里提取出它的文件名(去掉视频格式后缀),然后把这个名字加上.txt后缀,作为输出文件的名字。下面是修改后的完整代码片段,我会逐行解释关键改动:

# 获取输入视频
import argparse
import cv2
import os

ap = argparse.ArgumentParser()
ap.add_argument("-i", "--input", required=True, help="输入视频路径")
ap.add_argument("-o", "--output", required=True, help="输出视频路径")
args = vars(ap.parse_args())

# 从输入视频中捕获帧
vs = cv2.VideoCapture(args["input"])

# 写入输出文件夹及txt文件
outputfile_dir = os.path.join(os.getcwd(),'output')
if not os.path.exists(outputfile_dir):
    os.makedirs(outputfile_dir)
    os.chmod(outputfile_dir , 0o777)

# 关键修改部分:提取输入视频文件名并生成对应TXT文件名
# 1. 获取输入视频的完整文件名(含扩展名)
video_full_name = os.path.basename(args["input"])
# 2. 拆分文件名和扩展名,只保留名字部分
video_name, _ = os.path.splitext(video_full_name)
# 3. 拼接输出目录和新的TXT文件名
outputFilename = os.path.join(outputfile_dir, f"{video_name}.txt")

关键改动说明:

  • 使用os.path.basename(args["input"]):从输入路径中提取出视频的完整文件名(比如输入路径是./videos/demo.mp4,这一步会得到demo.mp4)
  • 使用os.path.splitext(video_full_name):把文件名拆分成名字和扩展名两部分,这里我们只需要名字部分(demo),扩展名用下划线_忽略即可
  • 用f-string拼接成最终的TXT文件名:f"{video_name}.txt",这样就得到了和输入视频同名的TXT文件(比如demo.txt)

这样修改后,不管你输入的视频文件名是什么,生成的TXT文件都会和它完全同名,完美满足你的需求!

内容的提问来源于stack exchange,提问作者Happypumpkin pm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 12:12:35