Python----pathlib模块的用法

网友投稿 423 2022-08-23


Python----pathlib模块的用法

1、pathlib简介

2、常用场景举例

2.1、获取当前文件的绝对路径

from pathlib import Pathif __name__=="__main__": path=Path(__file__).resolve() print(path)

执行结果为:

G:\src\django\mysite1\mysite1\test.py

2.2、获取当前文件所在的目录的绝对路径

from pathlib import Pathif __name__=="__main__": path=Path(__file__).resolve().parent print(path)

执行结果为:

G:\src\django\mysite1\mysite1

2.3、获取一个绝对路径文件的后缀

当文件后缀只有一个点,如xxx.doc,xxx.py等,使用如下方式

from pathlib import Pathif __name__=="__main__": path=Path("G:/src/django/mysite1/mysite1/test.py") print(path.suffix)

执行结果如下:

.py

当文件后缀有多个点时,如xxx.tar.gz等,此时获取后缀需要用字符串的join方法处理一下

from pathlib import Pathif __name__=="__main__": path=Path("G:/src/django/mysite1/mysite1/test.tar.gz") print(path.suffix) print(path.suffixes) print("".join(path.suffixes))

执行结果如下:

.gz['.tar', '.gz'].tar.gz

2.4、获取一个路径的上层目录,上上层目录,上上上层目录

from pathlib import Pathif __name__=="__main__": path=Path("G:/src/django/mysite1/mysite1/test.tar.gz") print(path.parent) print(path.parent.parent) print(path.parent.parent.parent)

执行结果如下:

G:\src\django\mysite1\mysite1G:\src\django\mysite1G:\src\django

2.5、路径拼接

方式1:初始化Path实例的时候直接使用多个目录,如:

from pathlib import Pathif __name__=="__main__": path=Path("G:/","src/django","mysite1","mysite1","test.tar.gz") print(path)

执行结果为:

G:\src\django\mysite1\mysite1\test.tar.gz

方式二:使用joinpath方法

from pathlib import Pathif __name__=="__main__": path=Path("G:/src/django/mysite1") path=path.joinpath("mysite1/test.tar.gz") print(path)

执行结果如下:

G:\src\django\mysite1\mysite1\test.tar.gz

方式三:直接拼接

from pathlib import Pathif __name__=="__main__": path=Path("G:/src/django/mysite1") path=path / "mysite1/test.tar.gz" print(path)

执行结果如下:

G:\src\django\mysite1\mysite1\test.tar.gz

2.6、从文件绝对路径获取文件名

from pathlib import Pathif __name__=="__main__": path=Path("G:/src/django/mysite1/mysite1/test.py") print(path.name) print(path.stem) path = Path("G:/src/django/mysite1/mysite1/test.tar.gz") print(path.name) print(path.stem)

执行结果如下:可以看出stem函数目前只能在后缀只有一个点的时候好用,存在多个点的时候目前还是有问题的

test.pytesttest.tar.gztest.tar


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python----Python之禅(Python的禅)
下一篇:vue 实现删除对象的元素 delete
相关文章

 发表评论

暂时没有评论,来抢沙发吧~