python模块----Path类
2021-05-03 13:29
标签:链接 first ice rmdir socket int 目录权限 sysconfig 删除空目录 python对系统文件操作的类 对文件或者目录进行初始化 返回目录与文件各部分的元组 获取当前工作目录 获取家目录 获取文件的元数据 如果是符号链接则显示本身文件的信息,用法等同于stat 获取绝对路径 返回一个绝对路径,如果是软链接则解析 匹配给定模式,返回生成器对象,在当前目录下匹配 匹配给定模式,返回生成器对象,递归匹配 创建新文件,touch(mode=0o666,exist_ok=True) 创建目录,mkdir(mode=0o755,parents=True,exist_ok=True) 删除空目录,目录不为空报Directory not empty 非空错,目录不存在报No such file or directory错误 将当前目录下的文件生成一个迭代器,不递归 python模块----Path类 标签:链接 first ice rmdir socket int 目录权限 sysconfig 删除空目录 原文地址:https://www.cnblogs.com/zoer/p/13197542.htmlPath类
导入
from pathlib import Path
初始化
p = Path()
#对当前目录进行初始化p1 = Path(‘/etc/ssh/sshd_config‘)
#对文件进行初始化p2 = Path(‘/etc/sysconfig/network-scripts/‘)
#对目录进行初始化
初始化后生成一个类对象p1与p2
则可使用类对象的属性与方法操作符 / 拼接路径
Path对象 / Path对象
print(Path(‘/first/second‘) / Path(‘third‘))
>>/first/second/third
Path对象 / ‘字符串‘
print(Path(‘first/second‘) / ‘third‘ )
>>first/second/third
print(Path(‘first/second‘) / ‘third‘ / ‘forth‘)
>>first/second/third/forth
‘字符串’ / Path对象
print(‘/first‘ / Path(‘second‘) / ‘third‘)
>>/first/second/third
print(‘first‘ / ( ‘second‘ / Path(‘third‘)))
>>first/second/third
joinpath()方法拼接
print(p2.joinpath(‘a‘,‘b‘,Path(‘c‘)))
>>/etc/sysconfig/network-scripts/a/b/c
Path属性
parts 路径分解
p1 = Path(‘/etc/ssh/sshd_config‘)
p2 = Path(‘/etc/sysconfig/network-scripts/‘)
print(p1.parts)
print(p2.parts)
>>(‘/‘, ‘etc‘, ‘ssh‘, ‘sshd_config‘)
>>(‘/‘, ‘etc‘, ‘sysconfig‘, ‘network-scripts‘)
parent、parents获取父目录
print(p2.parent) #获取到了除自己的上层父目录
>>/etc/sysconfig
for i in p2.parents: #parents返回一个可迭代对象
print(i)
>>/etc/sysconfig
>>/etc
>>/
目录的组成部分
Path方法
cwd()
home()
stat()
import datetime
from pathlib import Path
p1 = Path(‘/etc/ssh/sshd_config‘) #文件初始化
print(p1.stat()) #使用类方法stat()查看文件元数据
a_time = p1.stat().st_atime #直接在文件元数据对象上获取atimede属性,返回一个时间戳
date_a_time = datetime.datetime.fromtimestamp(a_time)
print(date_a_time) #将时间戳返回本地时间对象
>>2020-06-26 15:29:38.355023
lstat
判断方法
absolute()
resolve()
print(Path(‘/bin‘).resolve())
>>/usr/bin
通配符
glob(pattern)
rglob(pattern)
? 代表一个字符
* 代表任意个任意字符
[abc][a-z] 表示范围内的一个字符
touch()
mode指定文件权限,exist_ok为True 文件存在不报错mkdir()
mode指定目录权限,parents指定是否递归创建目录,exist_ok为True 文件存在不报错rmdir()
iterdir()