Python 路径操作
3.4版本之前os.path模块
3.4版本之后pathlib.Path模块
from pathlib import Pathp = 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对象的namep = Path('/tmp/mysql.tar.gz')p.touch(mode=0o666, exist_ok=True) # 文件名为/tmp/mysql.tar.gzp = Path('/tmp')p.joinpath('test.jpg').touch(mode=0o666, exist_ok=True) # 文件名为/tmp/test.jpg# 将路径转化成urip.as_uri() # 返回'file:///data/app/app/test'# 创建目录p = p / 'test' / 'test01' / 'test02'p.mkdir(parents=True) # 父目录不存在则创建# 迭代当前目录下p.iterdir()# 通配符p.glob('test*') # 返回生成器对象# 匹配matchp = Path('a/b.py')p.match('*.py')
