Python pathlib的简单使用-2(Python3.4才有的标准库)

Python pathlib的简单使用-2

函数 功能描述
cwd 获取当前运行路径
absolute 获取绝对路径
home 获取用户目录
Path(file) 获取当前文件目录
iterdir 遍历当前文件夹,返回直接子文件夹和子文件
is_file 判断是不是文件
is_dir 判断是不是目录
mkdir 创建目录,parents=True表示递归创建,
rmdir 删除目录,删除最底层的目录
touch 创建文件
read_text 读取文件string类型
read_bytes 读取文件byte类型
write_text 覆盖写文件string类型
write_bytes 覆盖写文件byte类型
replace 移动或重命名文件,移动时父目录不存在抛出异常
rename 重命名文件
with_name 替换基础名称,但只是逻辑替换,还需replace替换才真正生效
with_suffix 替换后缀,但只是逻辑替换,还需replace替换才真正生效
glob 匹配正则
rglob 递归匹配正则
exists 判断是否存在

基本测试

from pathlib import Path

print(f"当前路径:{Path.cwd()}")
print(f"绝对路径:{Path('a.txt').resolve().absolute()}")
print(f"用户目录:{Path.home()}")
print(f"当前文件路径:{Path(__file__)}")
print(f"文件属性(文件大小|创建时间|修改时间):{Path('demo.py').stat()}")
print(f"文件夹下的直接文件或目录:{list(Path('.').iterdir())}")
print(f"判断是否是文件:{Path('demo.py').is_file()}")
print(f"判断是否是文件夹:{Path('demo.py').is_dir()}")
print(f"创建文件夹:{Path('aaa/bbb/ccc/ddd/ppp.py').mkdir(parents=True, exist_ok=True)}")
print(f"删除文件夹:{Path('aaa/bbb/ccc/ddd/ppp.py').rmdir()}")
print(f"创建文件:{Path('a.txt').touch()}")

with open(Path("a.txt")) as f:
    print(f"文件内容:{f.read()}")
print(f"读取文件text类型:{Path('a.txt').read_text()}")
print(f"读取文件byte类型:{Path('a.txt').read_bytes()}")
print(f"覆盖写入文件text类型:{Path('a.txt').write_text('12345')}")
print(f"覆盖写入文件byte类型:{Path('a.txt').write_bytes(b'aaaabbbbcccc')}")
print(f"创建文件:{Path('a.txt').touch()}")
print(f"重命名文件:{Path('a.txt').replace('b.txt')}")
print(f"重命名文件:{Path('b.txt').rename('c.txt')}")
print(f"重命名文件:{Path('b.txt').with_name('c.txt')}")  # 替换名称但不会真正操作,真正操作还得replace
print(f"重命名文件:{Path('b.txt').with_suffix('.a')}")  # 替换后缀但不会真正操作,真正操作还得replace
print(f"移动文件:{Path('c.txt').replace('b/c.txt')}")
print(f"所有py结尾的文件(包括子目录):{list(Path('.').glob('**/*.py'))}")
print(f"所有py结尾的文件(包括子目录):{list(Path('.').rglob('*.py'))}")
print(f"当前文件夹下py结尾的文件(不包括子目录):{list(Path('.').glob('*.py'))}")
print(f"判断是否存在:{Path('a.txt').exists()}")
print(f"判断是否存在:{Path('aaa/bbb').exists()}")
posted @   南风丶轻语  阅读(115)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2020-07-17 Python selenium爬虫
点击右上角即可分享
微信分享提示