代做毕业设计网站,企业关键词优化推荐,淮北市建筑,开发公司临检管理办法python自带的pathlib模块提供了很多路径相关的功能#xff0c;而pathlib.Path 是pathlib 模块中的一个核心类#xff0c;它代表了文件系统中的一个路径#xff0c;实现功能比如创建、删除、移动文件#xff0c;读取和写入文件内容#xff0c;遍历目录等。
Path 类跟os.pa…
python自带的pathlib模块提供了很多路径相关的功能而pathlib.Path 是pathlib 模块中的一个核心类它代表了文件系统中的一个路径实现功能比如创建、删除、移动文件读取和写入文件内容遍历目录等。
Path 类跟os.path提供的功能有很多相似之处各有所长大家可根据实际需要选择os.path或者pathlib.Path。
pathlib.Path路径操作
使用前我们先导入Path类
from pathlib import Path
以下是Path类的源代码介绍继承自PurePath类初始化函数支持可变参数可传可不传。 一 介绍classmethod可通过Path类直接调用
1 Path.cwd(): 返回当前程序工作的目录。
功能类似于os.getcwd() 测试代码
print(f当前目录 {Path.cwd()})
当前目录 /Users/htsc/Desktop
2 Path.home(): 返回当前程序工作的目录的家目录。
功能类似于os.path.expanduser(~)。 测试代码
print(f当前目录的家目录 {Path.home()})
当前目录的家目录 /Users/htsc
二 介绍非classmethod需要初始化Path类然后调用
3 Path.samefile(other_path): 检查对象是否跟传入的路径是同一个文件或目录。
功能类似于os.path.samefile()。 测试代码
先初始化Path类传入参数Path.cwd(),表示当前路径。
path_ins Path(Path.cwd())
print(path_ins.samefile(/Users/htsc/Desktop))
结果
True
4 Path.iterdir( ): 返回路径下的文件和目录对象不会递归里面的目录。这个方法返回的是一个生成器可通过for循环访问。 测试代码
先初始化Path类传入参数Path.cwd(),表示当前路径。使用iterdir函数访问目录的内容并对子目录继续使用iterdir函数访问。
path_ins Path(Path.cwd())
for i in path_ins.iterdir():print(f第一层路径{i})if i.is_dir(): #如果有第二层目录则循环for j in i.iterdir():print(f第二层路径{j})
5 Path.glob(pattern): 返回与给定模式匹配的所有文件路径对象这个方法返回的是一个生成器可通过for循环访问。 参数pattern解释pattern是一个字符串用于指定要搜索的文件模式有些类似于re模块对应的正则表达式支持像通配符*代表单个字符的?等。
以下是一些pattern参数的示例
*.txt匹配给定路径下所有以.txt结尾的文件不会递归查找子目录。a/*.csv匹配a目录下所有以.csv结尾的文件。**/*.py匹配当前目录及其所有子目录下所有以.py结尾的文件**支持递归。?.txt匹配所有单个字符文件名并以.txt结尾的文件例如a.txt但不包括ab.txt。[abc].txt匹配a.txt、b.txt或c.txt。
测试代码
先初始化Path类传入参数Path.cwd(),表示当前路径。使用glob函数匹配特定的文件。
path_ins Path(Path.cwd())
for i in path_ins.glob(*.pptx):print(f路径{i})
6 Path.rglob(pattern): 递归遍历所有文件夹返回与给定模式匹配的所有文件路径对象这个方法返回的是一个生成器可通过for循环访问。 rglob函数与glob函数不同之处在于默认会递归所有目录进行匹配。参数pattern与glob函数一致只是我们不用在传入**来递归了。
测试代码
先初始化Path类传入参数Path.cwd(),表示当前路径。使用glob函数匹配特定的文件。
path_ins Path(Path.cwd())
for i in path_ins.rglob(*.pptx):print(f路径{i})
7 Path.absolute(): 返回Path对象的绝对路径。
绝对路径当前程序所在目录Path对象的参数路径 测试代码
先初始化Path类传入1.txt打印出绝对路径。
path_ins Path(1.txt)
print(path_ins.absolute())
结果
/Users/htsc/Desktop/1.txt
8 Path.is_absolute(): 判断Path对象是否是绝对路径。如果是返回True。 测试代码
先初始化Path类传入1.txt打印是否是绝对路径。
path_ins Path(1.txt)
print(path_ins.is_absolute())
结果False
9 Path.resolve(strictFalse): 返回Path对象为绝对路径。如果strict参数True则校验Path对象的路径是否正确。 测试代码
1初始化时随便写了一个路径strict参数True
path_ins Path(eee/1.txt)
print(path_ins.resolve(strictTrue))
执行结果 2初始化时随便写了一个路径strict参数True
path_ins Path(eee/1.txt)
print(path_ins.resolve())
执行结果 /Users/htsc/Desktop/eee/1.txt
10 Path.stat(): 返回文件或目录的状态信息比如文件大小、创建时间、修改时间等。
该函数功能类似于os.stat()
测试代码
先初始化Path类传入真实存在的文件config.txt
path_ins Path(config.txt)
print(path_ins.stat())
结果os.stat_result(st_mode33188, st_ino6398788, st_dev16777233, st_nlink1, st_uid501, st_gid20, st_size81, st_atime1724491423, st_mtime1724423868, st_ctime1724423868)
11 Path.owner(): 判断Path对象的拥有者一般是登录用户。 测试代码
先初始化Path类传入1.txt打印owner
path_ins Path(1.txt)
print(path_ins.owner())
结果Admin
12 文件打开/读取/写入相关函数
Path.open(): 类似于open函数打开文件对象Path.read_bytes():读取二进制文件内容Path.read_text(): 读取普通文本内容Path.write_bytes(data): 以二进制内容写入Path.wriite_text(data): 以普通文本内容写入 13 Path.touch(): 默认情况下该方法用于创建一个新的空文件如果文件已经存在则会更新其访问和修改时间。 参数exist_okFalse时则检查传入的路径是否已经存在已经存在会报错。参数mode是文件和目录的权限设置默认是666代表可读和可写。具体解释参考以下chmod函数的介绍。
测试代码
#初始化时随便写了一个文件名
path_ins Path(1.txt)
Path_ins.touch()
执行结果在本地目录新建了一个1.txt的空文件。
14 Path.mkdir(): 默认情况下该方法用于创建多个新的空文件夹,如果父文件夹或者子文件夹存在时则报错。
功能类似于os.makedirs()函数 参数exist_okTrue时则不在检查子文件夹是否已经存在。参数parentsTrue时则不在检查父文件夹是否已经存在。
测试代码
初始化时随便写了两个文件夹路径
path_ins Path(2/2)
path_ins.mkdir(parentsTrue,exist_okTrue)
path_ins.mkdir()
执行结果在本地目录新建了文件夹2在文件夹2中又创建了文件夹2当文件夹存在时最后的语句执行会报错FileExistsError。
15 Path.rmdir(): 删除空文件夹如果不是空文件夹则报错功能类似于os.rmdir()函数 16 Path.rename(target): 将传入的路径重新命名为目标路径。 测试代码
先初始化Path类将config.txt命名为cfg.txt
path_ins Path(config.txt)
path_ins.rename(cfg.txt)
17 Path.exits(): 判断路径是否存在。功能类似于os.path.exits(path) 18 Path.is_file(): 检查路径是否是一个文件。功能类似于os.path.isfile(path) 19 Path.is_dir(): 检查路径是否是一个目录。功能类似于os.path.isdir(path) 20 Path.chmod(): 更改目录或文件的权限。功能类似于os.chmod()这在linux机器上比较常用在windows下不太常用。 mode权限模式可以使用八进制数如0o755由三个部分组成每个部分表示不同的用户组对文件的权限文件所有者Owner、所属组Group、其他用户Others。
文件权限类型单个数字最大为4217
读r值为4表示可以读取文件内容。写w值为2表示可以修改文件内容。执行x值为1表示可以执行该文件或者访问该目录。
常见权限设置
chmod 755所有者具有读、写、执行权限所属组和其他用户具有读、执行权限。
chmod 777所有者所属组和其他用户都具有读、写、执行权限。
测试代码
path_ins Path(config3.txt)
print(path_ins.chmod(0o755))
共勉 东汉·班固《汉书·枚乘传》“泰山之管穿石单极之绠断干。水非石之钻索非木之锯渐靡使之然也。”
-----指水滴不断地滴可以滴穿石头
-----比喻坚持不懈集细微的力量也能成就难能的功劳。
----感谢读者的阅读和学习谢谢大家。