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

如何从Python获取的mkv文件绝对路径中提取不含目录的文件名?

提取路径中的纯文件名实现方案

方案1:使用os.path.basename(全版本兼容)

直接调用Python标准库os模块内置的os.path.basename()方法即可,该方法专门用于从完整路径中提取末尾的文件名部分,适配Windows、Linux、macOS等多平台路径格式。
示例代码如下:

import os

# 你的原有业务代码
files_path = [os.path.abspath(x) for x in os.listdir()]
fnames_transfer = [x for x in files_path if x.endswith(".mkv")]

# 新增:提取所有mkv文件的纯文件名
pure_mkv_filenames = [os.path.basename(file_path) for file_path in fnames_transfer]

测试效果:传入路径E:\pythoncode\feature\1.mkv时,返回结果为1.mkv,完全匹配需求。

方案2:使用pathlib(Python 3.4+ 推荐)

Python 3.4及以上版本可以使用更面向对象的pathlib库处理路径,代码可读性更高,天然支持跨平台路径解析:

from pathlib import Path

# 全流程pathlib实现示例
current_dir = Path.cwd()
pure_mkv_filenames = [file.name for file in current_dir.iterdir() if file.suffix == ".mkv"]

小提示:你原有代码中直接对os.listdir()返回值调用os.path.abspath()仅适用于遍历当前工作目录的场景,如果你后续需要遍历其他指定目录,建议先通过os.path.join(目标目录, 文件名)或者pathlib的路径拼接语法生成完整路径再做处理,避免路径解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 17:15:00