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

报错:'PosixPath'对象无'with_stem'属性,代码运行异常求助

问题分析

报错提示'PosixPath' object has no attribute 'with_stem',但你贴出的代码里并没有直接调用with_stem方法。大概率是两种原因:

  • 你传入的vid_path是pathlib库的PosixPath对象,后续未展示的代码里对这个路径调用了with_stem;
  • 你的Python版本低于3.10——with_stem是Python 3.10才新增的pathlib.Path方法,低版本不支持。
解决方案

情况1:确实用到了with_stem(代码未贴全)

  • 升级Python版本:直接把Python升到3.10及以上,就能正常使用with_stem方法。
  • 兼容低版本写法:如果不想升级,用下面的代码替代with_stem的功能:
    # 替代原代码中的 path.with_stem("新文件名")
    new_path = path.parent / f"新文件名{path.suffix}"
    

情况2:路径对象导致的问题

如果是传入cv2.VideoCapture的vid_path是PosixPath对象,转成字符串再传入即可:

vid = cv2.VideoCapture(str(vid_path))
代码优化建议

你贴的这段提取视频帧的代码有两个小问题,建议修正:

  • 循环没有终止条件:视频读完后success会变为False,此时应该退出循环,否则会无限执行。修改后的循环逻辑:
    while True:
        success, frame = vid.read()
        if not success:
            break  # 视频读取完毕,退出循环
        # 保存帧的代码...
        currentframe += 1
    
  • 记得释放视频资源:循环结束后加上vid.release(),避免占用系统资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 13:39:40