发布时间:2026-07-21阅读(3)
使用路径名来获取文件名,目录名,绝对路径等等,下面我们就来聊聊关于file类用什么判断是否是目录?接下来我们就一起去了解一下吧!

file类用什么判断是否是目录
1. 现象问题使用路径名来获取文件名,目录名,绝对路径等等
2. 原因分析使用 os.path 模块中的函数来操作路径名
import os.path# 查看标准化的绝对路径print(os.path.abspath(./chapter2/py20210224.py))# E:\\code\\PythonCookBook\\chapter2\\py20210224.py# 返回路径中的最后一个模块print(os.path.basename(./chapter2/py20210224.py))# py20210224.py# 返回路径列表中最长的相同子路径sub-path 不会校验路径的有效性# 不能同时使用绝对路径和相对路径# 空print(os.path.commonpath([./chapter2/py20210224.py, ./chapter3/py20210310.py, ./chapter3/py20210312.py, ]))# chapter3print(os.path.commonpath([./chapter3/py20210310.py, ./chapter3/py20210312.py, ]))# os.path.dirname 返回路径目录名称# ./chapter3print(os.path.dirname(./chapter3/py20210312.py))# ./chapter3print(os.path.dirname(./chapter3/))# .print(os.path.dirname(./chapter3))# os.path.normpath 转换path字符串形式 # 将多余的分隔符 相对路径.(上级目录)去除# chapter3\py20210312.pyprint(os.path.normpath(./chapter3/py20210312.py))# chapter3\py20210312.pyprint(os.path.normpath(.//chapter3/chapter4/../py20210312.py) # os.path.normcase 转换path的大小写和斜杠# .\chapter3\py20210312.pyprint(os.path.normcase(./chapter3/py20210312.py))# .\chapter3\..\chapter4\py20210312.pyprint(os.path.normcase(./chapter3/../chapter4/py20210312.py))# os.path.join 将路径模块智能组合在一起# tmp\data\chapter3\py20210312.pyprint(os.path.join(tmp, data, os.path.normcase(os.path.normpath(./chapter3/py20210312.py))))
对于任何的文件名的操作,你都应该使用 os.path 模块,而不是使用标准字符串操作来构造自己的代码。
为了可移植性考虑的时候更应如此,因为 os.path 模块知道 Unix 和 Windows 系统之间的差异并且能够可靠地处理类似
为了不浪费时间去重复造轮子,建议先浏览官方更多os.path函数,确认是否已经实现此功能
4. 错误经历Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图