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

Python判断是文件还是文件夹

[复制链接]

709

主题

0

回帖

11

积分

管理员

积分
11
发表于 前天 15:30 | 显示全部楼层 |阅读模式
主要依靠 os 模块、pathlib 模块两种方式
一、os 模块(传统写法)

  1. import os

  2. path = "test.txt"  # 替换你的路径

  3. # 1. 判断是否存在
  4. print(os.path.exists(path))

  5. # 2. 判断是否是 文件
  6. is_file = os.path.isfile(path)
  7. print("是文件:", is_file)

  8. # 3. 判断是否是 文件夹(目录)
  9. is_dir = os.path.isdir(path)
  10. print("是文件夹:", is_dir)
复制代码

常用 os 路径判断函数
os.path.exists(p):路径是否存在(文件 / 文件夹都返回 True)
os.path.isfile(p):仅普通文件返回 True
os.path.isdir(p):仅文件夹返回 True
os.path.islink(p):是否是软链接

二、pathlib 模块

  1. from pathlib import Path

  2. p = Path("test")

  3. print(p.exists())      # 是否存在
  4. print(p.is_file())     # 判断文件
  5. print(p.is_dir())      # 判断文件夹
  6. print(p.is_symlink())  # 判断软链接
复制代码


三、完整示例:自动区分

  1. from pathlib import Path

  2. def check_path(path):
  3.     p = Path(path)
  4.     if not p.exists():
  5.         return "路径不存在"
  6.     elif p.is_file():
  7.         return "这是文件"
  8.     elif p.is_dir():
  9.         return "这是文件夹"
  10.     else:
  11.         return "其他类型(设备、管道等)"

  12. print(check_path("./demo"))
复制代码


四、遍历目录挨个判断内容类型

  1. import os

  2. folder = "./"
  3. for name in os.listdir(folder):
  4.     full_path = os.path.join(folder, name)
  5.     if os.path.isfile(full_path):
  6.         print(f"文件:{name}")
  7.     elif os.path.isdir(full_path):
  8.         print(f"文件夹:{name}")
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|skypiea

GMT+8, 2026-7-30 06:07 , Processed in 0.041630 second(s), 20 queries .

Powered by skypiea

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