python--pathlib--路径操作

Posted 天子骄龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python--pathlib--路径操作相关的知识,希望对你有一定的参考价值。

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)

 

 

 

以上是关于python--pathlib--路径操作的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Azure blob 数据存储中获取 Python pathlib 路径?

python pathlib学习

python pathlib

python [Python] pathlibのglobとrglobのサンプル

iOS xcode 代码片段

C++ 代码片段(积累)