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 @ 2022-07-17 22:23  南风丶轻语  阅读(93)  评论(0编辑  收藏  举报