python-os.path模块中关于路径的常用函数

1. os.path模块

  • 独立于os模块

1.1 basename(path)去掉目录路径,单独返回文件名

import os.path
	os.path.basename (r'E:\Python\WorkSpace\Demo\aa.txt')
	输出:'aa.txt'

1.2 dirname(path)去掉文件名,返回路径

	os.path.dirname (r'E:\Python\WorkSpace\Demo\aa.txt')
	输出:'E:\\Python\\WorkSpace\\Demo'

1.3 join(A,B,C,[...])将A、B、C各部分组合成一个路径

  • D:\\ D盘的写法,得自己加\\
	os.path.join('A','B','C','D')
	输出:'A\\B\\C\\D'
# D:\\
	print(os.path.join('D:\\','python','demo','random'))
	输出:D:\python\demo\random

1.4 split(path)分割文件名和路径

path格式不同,返回的参数不同

  • 路径+文件名 —>(路径名,文件名)
  • 纯路径------------>(路径名-1,最后一个目录名)-默认把最后一个目录当成文件处理
  • 不会判读目录或者文件是否存在
  • 结果以元组方式返回
# 路径+文件名 
	os.path.split (r'E:\Python\WorkSpace\Demo\aa.txt')
	输出:('E:\\Python\\WorkSpace\\Demo', 'aa.txt')
# 纯路径
	os.path.split (r'E:\Python\WorkSpace\Demo')
	输出:('E:\\Python\\WorkSpace', 'Demo')

1.5 splittext(textname) 分离文件名和拓展名

  • textname:仅仅传入文件名
  • 结果以元组返回
	os.path.splitext ('aa.txt')
	输出:('aa', '.txt')

1.6 getsize(path)返回指定文件大小,单位是字节

  • 如果不用绝对路径,默认为当前工作路径
  • 我的aa.txt文件在当前工作目录的Demo目录里
# 绝对路径
	os.path.getsize (r'E:\Python\WorkSpace\Demo\aa.txt')
	52
# 
	os.path.getsize (r'demo/aa.txt')
	输出:52

1.7 gettime(path)getctime(path),getmtime(path)文件的三个时间

  • 结果默认浮点型秒数,可用time模块的gmtime()或localtime()函数转换
  • 如果不用绝对路径,默认为当前工作路径
  • 我的aa.txt文件在当前工作目录的Demo目录里
  • gettime(path):文件的最近访问时间
  • getctime(path):文件的创建时间
  • getmtime(path):文件的最新修改时间
# getatime(path)
	os.path.getatime (r'E:\Python\WorkSpace\Demo\aa.txt')
	输出:1611934639.5758266
# getctime(path)
	os.path.getctime (r'E:\Python\WorkSpace\Demo\aa.txt')
	输出:1611928942.939344
# getmtime(path)
	os.path.getmtime (r'E:\Python\WorkSpace\Demo\aa.txt')
	输出:1611934639.5758266
# 转换成人看得时间
import time
	# localtime()
		time.localtime(os.path.getmtime (r'E:\Python\WorkSpace\Demo\aa.txt'))
		输出:time.struct_time(tm_year=2021, tm_mon=1, tm_mday=29, tm_hour=23, tm_min=37, tm_sec=19, tm_wday=4, tm_yday=29, tm_isdst=0)
	# gmtime()
		time.gmtime(os.path.getmtime (r'E:\Python\WorkSpace\Demo\aa.txt'))
		输出:time.struct_time(tm_year=2021, tm_mon=1, tm_mday=29, tm_hour=15, tm_min=37, tm_sec=19, tm_wday=4, tm_yday=29, tm_isdst=0)
	

1.8 exists(path) 判断指定路径的目录/文件是否存在

  • 返回值为boolean类型
  • path写绝对路径
# 判断目录是否存在
	os.path.exists(r'E:\Python\WorkSpace\Demo')
	输出:True
# 判断文件是否存在
	os.path.exists(r'E:\Python\WorkSpace\Demo\aa.txt')
	输出:True

1.9 isabs(path)判断指定路径是否是绝对路径

  • 返回值为boolean类型
# 绝对路径
	os.path.isabs (r'E:\Python\WorkSpace\Demo\aa.txt')
	输出:True
# 相对路径
	os.path.isabs (r'..\aa.txt')
	输出:False

1.10 isdir(path)判断指定路径是否存在且是一个目录

  • 返回值为boolean类型
# 存在
	os.path.isdir(r'E:\Python\WorkSpace\Demo')
	输出:True
# 不存在
	os.path.isdir(r'E:\Python\WorkSpace\Demo11')
	输出:False

1.11 isfile(path)判断指定路径是否存在且是一个文件

  • 返回值为boolean类型
	os.path.isfile(r'E:\Python\WorkSpace\Demo\aa.txt')
	输出:True

1.12 islink(path)判断指定路径是否存在且是一个链接

  • 返回值为boolean类型

1.13 ismount(path)判断指定路径是否存在且是一个挂载点

  • 返回值为boolean类型
# 非挂载点
	os.path.ismount(r'E:\Python')
	输出:False
# 是挂载点:
	os.path.ismount(r'E:')
	输出:True

1.12 samefile(path1,path2)判断两个路径是否指向同一个文件

  • 返回值为boolean类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值