多语言展示
当前在线:109今日阅读:142今日分享:25

Python-如何操作文件路径

用os模块,os.path对文件路径操作,获取文件属性等。
1.路径分割,合并相关
1

分割路径为头尾:os.path.split(p)1)将路径名p 拆分为头,尾两个字符串,分界线是最右边的一个斜线,以元组类型返回(head,tail)。tail是最后一个组件的名称,剩下的是head。2)尾部分不包含斜线;如果路径以斜线结尾,则tail是空字符串。3)如果路径中没有斜线,则头部将为空。4)如果路径是空的,那么头部和尾部都是空的。例如:p1=r'F:\zzTest\test\a001.txt' p2=r'C:\Users\Administrator\Pictures' print(os.path.split(p1))>>>('F:\\zzTest\\test', 'a001.txt')print(os.path.split(p2)) >>>('C:\\Users\\Administrator', 'Pictures')

2

获取路径基层的名字:os.path.basename(p) 返回路径p的最后一个组件名称。是os.path.split()的尾。例如:p1=r'F:\zzTest\test\a001.txt' p2=r'C:\Users\Administrator\Pictures print(os.path.basename(p1))>>> a001.txt print(os.path.basename(p2))>>> Pictures

3

获取路径的目录路径:os.path.dirname(p)返回路径p的目录路径。也就是os.path.split()的头。例如:p1=r'F:\zzTest\test\a001.txt' p2=r'C:\Users\Administrator\Pictures print(os.path.dirname(p1))>>>F:\zzTest\testprint(os.path.dirname(p2)) >>>C:\Users\Administrator

4

分割驱动盘符:os.path.splitdrive(p)将路径p拆分为驱动盘和尾部组件(drive,tail)以元组返回,例如:p1=r'F:\zzTest\test\a001.txt' print(os.path.splitdrive(p1))>>>('F:', '\\zzTest\\test\\a001.txt')

5

分割扩展名:os.path.splitext(p)1)将路径p拆分为文件名路径,和扩展名(root,ext)以元组返回,分割线是路径的最后一个斜杠后的最后一个句点。2)ext包含一个句点,如果没有句点ext为空字符串。 例如:p1=r'F:\zzTest\test\a001.txt' p2=r'C:\Users\Administrator\Pictures' print(os.path.splitext(p1))>>>('F:\\zzTest\\test\\a001', '.txt')print(os.path.splitext(p2)) >>>('C:\\Users\\Administrator\\Pictures', '')

6

连接路径:os.path.join(p,p1,p2....)1)连接一个或多个路径组件。返回值是p和后面的多个字符串串联,2)每个非空的参数后面默认有一个目录分隔符'\'(os.sep),最后一个除外。3)这如果最后一个部分为空,结果将仅以分隔符结尾。4)如果某参数是绝对路径,则会丢弃所有以前参数,并从绝对路径参数继续连接。例如:p0=r'aa' p1=r'F:\zzTest' p2=r'bb' p3=r'' p4=r'cc.txt' print(os.path.join(p0,p1,p2,p3))p1为绝对路径,所以前面的p0被舍弃,p3是空,且在最后,所以以'\'结尾。>>>F:\zzTest\bb\print(os.path.join(p0,p1,p2,p3,p4)) >>>F:\zzTest\bb\cc.txtp3是空,不在结尾,不显示任何效果。

2.文件的相关操作:
1

获取路径的创建时间:os.path.getctime(p) 获取路径的修改时间:os.path.getmtime(p) 获取路径的访问时间:os.path.getatime(p)返回的时间是time模块的时间戳,想要看到可读的时间需要转换。

2

获取文件的大小:os.path.getsize(p)返回路径的大小,单位是byte。例如:p=r'C:\Users\Administrator\Pictures\49\1.jpg' print(f'size:{(os.path.getsize(p)/1024):.1f}KB')>>>size:66.1KB

3

路径判断操作判断路径是否存在:os.path.exists(p)路径存在则返回True,路径损坏返回False --------------------判断是否为绝对路径:os.path.isabs(path) 如果是返回True,否则返回False-------------------- 判断路径是否为目录os.path.isdir(path) 如果是返回True,否则返回False -------------------- 判断路径是否为文件os.path.isfile(path)如果是返回True,否则返回False

4

删除文件:os.unlink(p) 参数p是文件路径,非目录路径,否则报错。没有返回值。p=r'F:\zzTest\test\a001.txt' print(os.path.exists(p))>>>Trueos.unlink(p) print(os.path.exists(p)) >>>False

推荐信息