Python中的路径操作

路径操作

os模块中的path对象(3.4版本之前)

  • path属性os模块,from os import path

常用方法

  • os.path.join(path,*paths)->str #拼接路径
    from os import path
    p = path.join("a","b")
    p2 = path.join("e:/a/b","c")
    print(type(p),p)
    print(type(p2),p2)
    
    path005
  • os.path.exists§->True|False #判断字符串路径或文件是否存在
    • p 字符串路径
  • os.path.split§->(路径,基名) #切割路径字符串,获取路径和基名
  • os.path.dirname§->str路径 #获取路径字符串的路径
  • os.path.basename§->str基名 #获取路径字符串的基名
  • os.path.relpath(p )->str路径 #获取文件路径的相对路径
    • 简单示例:
    from os import path
    path.abspath(""),path.relpath('D:/MyPythonUse/Mypython/a/b')  
    
    path007
  • os.path.abspath§->str # 获取路径字符串的绝对路径
    • os.path.abspath("") 和 os.path.abspath(".") 表示当前路径的绝对路径
  • os.path.splitdrive§->(磁盘名,路径) #windows系统上使用,获取路径所在磁盘的盘符
    • path.splitdrive(“c:/a/b/text.py”) #(‘c:’, ‘/a/b/text.py’)
  • os.path.samefile(src,dst) #判断两个路径是否指向同一个文件
  • os.path.normpath(p )->os.path #正常化路径,取消双斜杠
  • os.path.normcase(p )->os.path #将路径大小写规范。
    • 如果是linux系统或者Mac OS系统,不做处理
    • 如果是windows系统上,将路径全部转换成小写,并将"/“转成”\\"
  • 其他相关方法可以查看python API
    • os.path.getatime(path)
    • os.path.getsize(path) #获取文件大小
    • os.path.isabs(path) #是否是绝对路径
    • os.path.isdir(path) #判断路径是否是当前路径

pathlib模块中的Path对象(3.4版本开始使用)

  • Path路径对象,属于pathlib模块,在python3.4版本后开始提供
    from pathlib import Path
    
    • Path类关系图
      path002
  • Path(*pathsegments)->PosixPath|WindowsPath 根据路径创建Path对象
    • pathsegments 路径字符串
    • PosixPath 在linux下调用会返回PosixPath对象
    • WindowsPath 在windows下调用会返回WindowsPath对象
    • 初始化简单示例
    from pathlib import Path
    p = Path() #当前目录 Path(.) Path("")都是表示当前目录
    p = Path('a','b','c/d') #当前目录下的a/b/c/d
    p = Path("/etc") #表示跟下的etc目录
    
  • 操作符号/
    • 语法:
      • Path对象/Path对象
      • Path对象/字符串 或者 字符串 / Path对象
    • 示例:
    p = Path("c:/a/b")
    p = "d/e" / p/"g" #注意组合后为:WindowsPath('c:/a/b/g') 盘符前的不合法路径会被忽略
    p2 = Path("c/d")
    p2 = "e/f"/ ("g/h"/p2)/"g" #WindowsPath('e/f/g/h/c/d/g') 注意括号和p2的位置
    

注意:WindowsPath和PosixPath的父类都是PurePath

  • 路径的比较: 在windows中文件名称是不区分大小写的,为了方便判断路径是否一致可以使用路径对象Path来进行比较的路径大小
    • PureWindowsPath(“fab”) == PureWindowsPath(“FaB”) #返回True
    • PureWindowsPath(“c:”) < PureWindowsPath(“D:”) #返回True
    • windows下演示
    p1 = Path("c:")
    p2 = Path("D:")
    print(p1<p2)
    
    p3 = Path("c:/","a","b") #注意,使用盘符时,要带上/,或者后面的路径最前面带上/
    p4 = Path("c:/a/b")
    print(p3==p4,p3,p4)
    
    path001
  • linux系统中文件名是区分大小写,所以有:
      <
  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值