
from pathlib import Path
p1=Path(__file__) #获取当前文件路径
#D:\ss\test1.py
p2 = Path.cwd() #获取当前文件的目录
#D:\ss
p3=Path.cwd().parent #当前文件目录的父目录
#D:\
p=Path.cwd().joinpath('aa') #路径拼接
#D:\ss\aa
st=Path(__file__).stat() #获取当前文件的信息
#os.stat_result(st_mode=33206, st_ino=6473924464701313, st_dev=1559383105, st_nlink=1, st_uid=0, st_gid=0, st_size=300, st_atime=1578661629, st_mtime=1578661629, st_ctime=1576891792)
a=st.st_size #文件大小,单位:字节
p=p1.parent #p1的父路径
z=p1.parents #p的所有祖辈路径,返回一个对象
# for i in z:
# print(i)
pp = Path('D:/python') #创建一个path对象
a=pp.is_file() #判断pp是否文件
a=pp.is_dir() #判断pp是否目录
a=p2.is_absolute() #判断p2是否是绝对路径
a=p2.match('d:\*') #判断p2是否符合某一个模式
a=p2.glob('*.py') #在p2下搜索符合某一模式的文件--只搜索p2目录
a=p3.glob('**\*.py') #在p3下搜索符合某一模式的文件--包括所有子目录
# a=p3.rglob('*.py') #在p3下搜索符合某一模式的文件--包括所有子目录
# for i in a:
# print(i)
#pp.mkdir() #创建目录--如果已经存在就抛出异常
a=p1.name #获取文件名
#test1.py
a=p1.suffix #获取后缀
#.py
a=pp.stem #目录最后一个部分,不带后缀
a=pp.with_name('vocab.txt') #替换最后一个部分并返回一个新的路径
a=p1.with_suffix('.lm') #替换扩展名,返回新的路径,扩展名存在则不变
#D:\ss\test1.lm
dir=Path('d:/')
a=dir.iterdir() #所有文件与文件夹路径的迭代器--只返回本目录的不包括子目录
# for i in a:
# print(i)
file=Path('D:/ss.lm')
#file.rename('d:/cc.txt') #改名并移动-文件与文件夹都可以
#如果file不存在就抛出异常
#移动必须是同一驱动器
#目标文件已经存在时抛出异常
file.replace('d:/cc.txt') #改名并移动-文件与文件夹都可以
#与rename类似,目标文件或文件夹已经存在时则覆盖原文件
print(a)
