找回密码
 立即注册
搜索
到手67.99元!阿里云轻量2核2G云服务器
查看: 14|回复: 0

python如何获取文件路径和文件名

[复制链接]

708

主题

0

回帖

11

积分

管理员

积分
11
发表于 昨天 09:22 | 显示全部楼层 |阅读模式
两种常用库:os 模块(传统)、pathlib
一、os 模块
  1. import os

  2. file_path = r"D:\work\docs\note.txt"  # 完整路径
复制代码
获取所在目录(文件路径)
  1. dir_path = os.path.dirname(file_path)
  2. print(dir_path)  # D:\work\docs
复制代码
获取完整文件名(文件名 + 后缀)
  1. full_name = os.path.basename(file_path)
  2. print(full_name) # note.txt
复制代码
分离文件名和后缀
  1. name, suffix = os.path.splitext(full_name)
  2. print(name)    # note 纯文件名
  3. print(suffix)  # .txt 后缀
复制代码
拼接路径(跨平台通用)
  1. new_path = os.path.join(dir_path, "new.txt")
复制代码
二、pathlib
  1. from pathlib import Path

  2. p = Path(r"D:\work\docs\note.txt")
复制代码
文件所在文件夹
  1. print(p.parent)   # D:\work\docs
复制代码
完整文件名(带后缀)
  1. print(p.name)     # note.txt
复制代码
纯文件名(无后缀)
  1. print(p.stem)     # note
复制代码
文件后缀
  1. print(p.suffix)   # .txt
复制代码
全部后缀(多后缀文件适用,如 tar.gz)
  1. p2 = Path("a.tar.gz")
  2. print(p2.suffix)    # .gz
  3. print(p2.suffixes)  # ['.tar', '.gz']
复制代码
转为绝对路径

  1. print(p.resolve())
复制代码
三、常用组合示例
  1. from pathlib import Path

  2. path = Path("./data/test.jpg")
  3. # 绝对路径
  4. abs_p = path.resolve()
  5. # 目录、全名、文件名、后缀
  6. folder = abs_p.parent
  7. filename = abs_p.name
  8. pure_name = abs_p.stem
  9. ext = abs_p.suffix

  10. print(f"目录:{folder}")
  11. print(f"完整文件名:{filename}")
  12. print(f"文件名:{pure_name}")
  13. print(f"后缀:{ext}")
复制代码

四、补充小知识点
文件夹路径调用 .name:只会拿到最后一级文件夹名
例:Path("D:/aaa/bbb").name → bbb
区分绝对 / 相对路径:p.is_absolute()
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|skypiea

GMT+8, 2026-7-29 06:35 , Processed in 0.043424 second(s), 19 queries .

Powered by skypiea

快速回复 返回顶部 返回列表