file类用什么判断是否是目录(文件路径名Pathnames的操作)
使用路径名来获取文件名,目录名,绝对路径等等,下面我们就来聊聊关于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', ]))
# 'chapter3'
print(os.path.commonpath(['./chapter3/py20210310.py', './chapter3/py20210312.py', ]))
# os.path.dirname 返回路径目录名称
# './chapter3'
print(os.path.dirname('./chapter3/py20210312.py'))
# './chapter3'
print(os.path.dirname('./chapter3/'))
# '.'
print(os.path.dirname('./chapter3'))
# os.path.normpath 转换path字符串形式
# 将多余的分隔符 相对路径.(上级目录)去除
# 'chapter3\py20210312.py'
print(os.path.normpath('./chapter3/py20210312.py'))
# 'chapter3\py20210312.py'
print(os.path.normpath('.//chapter3/chapter4/../py20210312.py')
# os.path.normcase 转换path的大小写和斜杠
# '.\chapter3\py20210312.py'
print(os.path.normcase('./chapter3/py20210312.py'))
# '.\chapter3\..\chapter4\py20210312.py'
print(os.path.normcase('./chapter3/../chapter4/py20210312.py'))
# os.path.join 将路径模块智能组合在一起
# 'tmp\data\chapter3\py20210312.py'
print(os.path.join('tmp', 'data', os.path.normcase(os.path.normpath('./chapter3/py20210312.py'))))
对于任何的文件名的操作,你都应该使用 os.path 模块,而不是使用标准字符串操作来构造自己的代码。
为了可移植性考虑的时候更应如此,因为 os.path 模块知道 Unix 和 Windows 系统之间的差异并且能够可靠地处理类似
为了不浪费时间去重复造轮子,建议先浏览官方更多os.path函数,确认是否已经实现此功能
4. 错误经历- 无
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com