Python路径操作
Python 路径操作
3.4版本之前os.path模块
3.4版本之后pathlib.Path模块
from pathlib import Path
p = path()
p = p.joinpath('/data/app/app/sftp-password.txt') # 在当前目录后拼接字符串
# 路径拼接
* joinpath
* 操作符/
Path对象/Path对象
Path对象/字符串 或者 字符串/Path对象/Path对象
p = p / 'a' / 'b'
# 路径分解
parts属性,元组方式返回路径中的每一个部分
p.parts
# 获取父目录
p.parent # 获取除目录最后一个部分外的所有路径
list(p.parents) # 依次获取父目录级别
# 获取目录中最后一个部分
p.name
# 获取目录中最后一个部分的扩展名
p.suffix # .jpg
# 获取目录中最后一个部分,没有扩展名
p.stem
# 返回当前工作目录
p.cwd()
# 返回当前家目录
p.home()
# 是否是目录
p.is_dir()
# 是否是文件
p.is_file()
# 是否是socket文件
p.is_socket()
# 是否是绝对路径
p.is_absolute()
# 目录或者文件是否存在
p.exists()
# 删除空目录,如果目录不为空则报错,pathlib没有提供判断目录为空的方法
p.rmdir()
# 创建文件,创建的文件名即p对象的name
p = Path('/tmp/mysql.tar.gz')
p.touch(mode=0o666, exist_ok=True) # 文件名为/tmp/mysql.tar.gz
p = Path('/tmp')
p.joinpath('test.jpg').touch(mode=0o666, exist_ok=True) # 文件名为/tmp/test.jpg
# 将路径转化成uri
p.as_uri() # 返回'file:///data/app/app/test'
# 创建目录
p = p / 'test' / 'test01' / 'test02'
p.mkdir(parents=True) # 父目录不存在则创建
# 迭代当前目录下
p.iterdir()
# 通配符
p.glob('test*') # 返回生成器对象
# 匹配match
p = Path('a/b.py')
p.match('*.py')

浙公网安备 33010602011771号