pathlib 库学习及官方文档

本文详细介绍了Python的Pathlib库中Path对象的rename()和replace()方法,分别处理文件重命名和移动,以及Path.exists(), is_dir(), is_file(), iterdir(), mkdir(), rmdir(), unlink()等辅助函数的使用。
摘要由CSDN通过智能技术生成

官方文档:

pathlib — Object-oriented filesystem paths — Python 3.10.2 documentationhttps://docs.python.org/3/library/pathlib.html#pathlib.Path.rename

一、Path.rename(target) 学习:

创建测试文件和文件夹

 1、传入新的文件名(字符串),文件路径不变

 结果:文件被重命名,位置不变

2、传入旧的文件名(字符串),文件路径改变

          

结果:文件名不变,文件位置变了,被移动到新的路径。

3、传入新的文件名(字符串),文件路径改变

      

结果:文件被重命名,同时位置改变,被移动到新的路径下。重命名且移动文件。 

4、传入新的文件名(Path类),文件路径不变

  结果:文件被重命名,位置不变

5、传入新的文件名(Path类),文件路径改变

 

结果:文件被重命名,同时位置改变,被移动到新的路径下。重命名且移动文件。

6、传入旧的文件名(Path类),文件路径改变

     

结果:文件名不变,文件位置变了,被移动到新的路径。

  

 当新路径(无论字符串还是Path类)下文件存在时,会报错:

 当新路径(无论字符串还是Path类)不存在时,会报错:

总结: 

        1、当传入的target,路径不变,文件名不一样时,实现了文件的重命名

        2、当传入的target,路径改变时,实现了文件的移动。文件名称为新路径中的名称

        3、当传入的target,已经存在时,则不会移动或者重命名,报错。

        4、当传入的target,路径不存在时,不会移动文件,报错。

        5、与传入的target类型无关,如论是字符串还是Path类,效果都一样。

二、Path.replace(target) 学习:

  1、传入新的文件名(字符串/Path类),文件路径不变

 结果:文件被重命名,位置不变

2、传入旧的文件名(字符串/Path类),文件路径改变

          

 结果:文件名不变,文件位置变了,被移动到新的路径。

3、传入新的文件名(字符串/Path类),文件路径改变

      

 结果:文件被重命名,同时位置改变,被移动到新的路径下。重命名且移动文件。 

4、当新路径(无论字符串还是Path类)下文件存在时:

 

  

  结果:文件被重命名,同时位置改变,被移动到新的路径下。原来文件被替换。 

5、当新路径(无论字符串还是Path类)不存在时,会报错:

  

总结: 

        1、当传入的target,路径不变,文件名不一样时,实现了文件的重命名

        2、当传入的target,路径改变时,实现了文件的移动。文件名称为新路径中的名称

        3、当传入的target,已经存在时,则会移动或者重命名文件,原来文件被替换。

        4、当传入的target,路径不存在时,不会移动文件,报错。

        5、与传入的target类型无关,如论是字符串还是Path类,效果都一样。

Path.rename() 和 Path.replace() 唯一的不同点在于,传入的target路径文件已经存在时,rename()方法会报错,replace()方法会无条件替换。

三、Path.exists()学习:

  判断文件/文件夹是否存在,如果path是符号链接,则返回链接指向的文件是否存在

>>> Path('.').exists()
True
>>> Path('setup.py').exists()
True
>>> Path('/etc').exists()
True
>>> Path('nonexistentfile').exists()
False

四、Path.is_dir() 学习:

  如果返回True,则路径指向的是一个文件夹,或者符号链接指向的是文件夹。

如果返回False,则路径指向的不是文件夹,或者路径指向不存在,或者是一个损坏的符号链接,或者没有权限等等。

五、Path.is_file() 学习:

  如果返回True,则路径指向的是一个常规文件,或者符号链接指向的是常规文件。

如果返回False,则路径指向的不是常规文件,或者路径指向不存在,或者是一个损坏的符号链接,或者没有权限等等。

六、Path.iterdir() 学习:

遍历文件夹

七、Path.mkdir(mode=0o777parents=Falseexist_ok=False) 学习:

创建文件夹exist_ok=True,则文件存在时不报错,为False,则文件存在时报错。parents=True,则创建多级文件夹,为False,则只能创建一级文件夹。

八、Path.rmdir() 学习:

  删除文件夹,文件夹必须为空!

九、Path.unlink() 学习:

  删除文件或者删除符号链接,路径指向文件夹则调用Path.rmdir()。

python3.8之后添加missing_ok参数。如果missing_ok=True,则文件不存在时不报错;如果为Fasle,则文件不存在时报错。

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值