[PY3]——IO——pathlib
pathlib.Path()
from pathlib import Path
p=Path("/test2")
Path.cwd()
print(p.cwd())
/py3
Path.home()
print(p.home())
/root
Path.iterdir()
print(list(p.iterdir()))
[PosixPath('/test2/p.py'), PosixPath('/test2/aa.txt'), PosixPath('/test2/bb')]
Path.stat()
print(p.stat())
s.stat_result(st_mode=16804, st_ino=296353, st_dev=2053, st_nlink=3, st_uid=500, st_gid=500, st_size=4096, st_atime=1503619754, st_mtime=1503523284, st_ctime=1503523284)
Path.chmod()
print(oct(p.stat().st_mode)[-3:]) p.chmod(0o755) print(oct(p.stat().st_mode)[-3:])
Path.owner()
print(p.owner())
user00
Path.group()
print(p.group())
user00
Path.glob(pattern)
print(list(p.glob("*.py")))
[PosixPath('/test2/p.py')]
print(list(p.glob('**/*.py')))
[PosixPath('/test2/p.py'), PosixPath('/test2/bb/p2.py')]
Path.rglob(pattern)
print(list(p.rglob('*.py')))
[PosixPath('/test2/p.py'), PosixPath('/test2/bb/p2.py')]
Path.expanduser()
p=Path("~/Desktop")
print(p.expanduser())
/root/Desktop
Path.exists()
print(p.exists())
True p=Path("/test2_not_exist")
print(p.exists())
False
Path.is_dir() | is_file()
print(p.is_dir())
True
print(p.is_file())
False
Path.is_socket() | is_fifo() | is_block_device() | is_char_device() | is_symlink()
Path.mkdir(mode=0o777, parents=False, exist_ok=False)
p=Path("/test2/test2_tree")
p.mkdir(mode=0o644)
print(p.exists())
True
p=Path("/test2_no_exist/aa")
p.mkdir()
FileNotFoundError: [Errno 2] No such file or directory: '/test2_no_exist/aa'
p.mkdir(parents=True)
print(p.exists())
True
p.mkdir(exist_ok=True)
不会报错
Path.touch(mode=0o666, exist_ok=True)
p=Path("/test2/no_exits_text")
p.touch(mode=0o755)
print(p.exists())
True
print(oct(p.stat().st_mode)[-3:])
Path.open(mode=’r’, buffering=-1, encoding=None, errors=None, newline=None)
p=Path("/test2/aa.txt")
with p.open() as f:
print(f.read())
Path.read_bytes()
print(p.read_bytes())
b'test content\n2test2 content\n'
Path.read_text()
print(p.read_text())
test content
2test2 content
Path.write_bytes(data)
Path.write_text(data,encoding=None,errors=None)
Path.rename(target)p=Path("/test2/test.txt")
p.open("w").write("test content")
target=Path("/test2/test.rename")
p.rename(target)
print(target.open().read())
test content
print(p.exists())
False
Path.replace(target)
无条件替换
Path.resolve()
返回绝对路径
Path.samefile(other_path)
Path.rmdir()
p=Path("/test2/bb")
p.rmdir()
OSError: [Errno 39] Directory not empty: '/test2/bb'
#只能删除空目录
Path.symlink_to()
Path.unlink()
PurePath.suffix
p=Path("/test2/bb/p2.py")
print(p.suffix)
.py
print(p.suffixes)
['.py']
连接路径
print(pathlib.Path('/',"/home","user00"))
/home/user00
def get_home(username):
if username=="root":
return pathlib.Path("/","root")
else:
return pathlib.Path('/','/home',username)
print(get_home("root"))
/root
print(get_home("user00"))
/home/user00
[PY3]——IO——pathlib的更多相关文章
- [PY3]——IO——文件目录操作
IO—os.shutil—文件目录操作 目录操作 1. 新建 os.mkdir(path[, mode]) 相当于mkdir,新建目录 os.makedirs(path[, mode]) 相当于mkd ...
- [PY3]——IO——文件读写
文件打开和关闭 # 使用open 打开文件,返回时值是一个 File-like对象 f.open('/test/file') # 使用read读取文件 f.read( ) # 使用close关闭文件 ...
- 重启服务器后Docker容器暴露的端口外网突然访问不了!!
*:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...
- VS2015编译GEOS
下载链接:http://trac.osgeo.org/geos/ 1. 打开cmake,加载geos源码和定位geos的工程存放位置: 2.点击configure,会报错,首先设置CMAKE_INST ...
- 【python】pathlib库
pathlib在python3.2以上开始默认支持,在python2.7中如果要使用需要安装 pip install pathlib pathlib更多参考资料:http://pathlib.read ...
- python运维开发(十)----IO多路复用线程基本使用
内容目录: python作用域 python2.7和python3.5的多继承区别 IO多路复用 socketserver模块源分析 多线程.进程.协程 python作用域 python中无块级作用 ...
- py2与py3区别总结
1. py2中的str是py3中的bytes py2中的Unicode是py3中的str 声明一个字符串变量时,py2 和py3都是str类型,但py2代表字节类型,py3代表文本类型 隐式转换: p ...
- (转)pathlib路径库使用详解
原文:https://xin053.github.io/2016/07/03/pathlib%E8%B7%AF%E5%BE%84%E5%BA%93%E4%BD%BF%E7%94%A8%E8%AF%A6 ...
- [py]django上线部署-uwsgi+nginx+py3/django1.10
https://github.com/lannyMa/django-uwsgi-nginx.git 单机调试启动-确保项目代码没问题 - 克隆代码进入项目 git clone https://gith ...
随机推荐
- Maven Compilation error [package org.testng.annotations does not exist]
背景 在执行mvn test的时候,提示package org.testng.annotations does not exist 解决办法 Open pom.xml file. Go to &quo ...
- DotNet三层架构
[项目结构]DAL 数据访问层.BLL 业务逻辑.UI 表现层 Model 数据.Common 常用工具[引用关系]DAL --> Model CommonCommon --> 谁都不引用 ...
- html Canvas 画图 能够选择并能移动
canvas 画图,能够选中所画的图片并且能够随意移动图片 <html xmlns="http://www.w3.org/1999/xhtml"> <head r ...
- JPA之@GeneratedValue注解
JPA的@GeneratedValue注解,在JPA中,@GeneratedValue注解存在的意义主要就是为一个实体生成一个唯一标识的主键(JPA要求每一个实体Entity,必须有且只有一个主键), ...
- CF79D Password
题目链接 题意:给定长度为n的0/1序列,初始值都为0.你每次可以在给定的l个长度中的\(a_i\)并将序列中长度为\(a_i\)的部分取反.使得最终状态为\(x_1\)~\(x_k\),求最少取反次 ...
- A - 最少拦截系统 (最长上升子序列)
点击打开链接 A - 最少拦截系统 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度. ...
- CentOS7安装weblogic集群思路梳理
以前经常用weblogic集群,但是却没有仔细想过要实现它.这不,前两天成功安装了weblogic集群,现在将其思路整理下.防止日后自己忘掉了. 一.安装weblogic10.3.6 1. 在官网下载 ...
- C++中运算符的优先级
运算符挺多的,很难一一记住他们的优先级,在此去别人博客复制以下内容,供自己以后学习. 优先级 运算符 含 义 要求运算 对象的个数 结合方向 1 () [] -> . 圆括号 下标运算符 ...
- Ionic2使用TypeScript调用自定义JavaScript脚本
在项目app目录下面写一个.d.ts 里面声明你要引用JS库里面定义的变量,变量名要保持一致 declare var Strophe: any; 然后把JS库放在www目录下面 然后在index.ht ...
- C#-WebForm-组合查询(Queryable延迟查询、Intersect交集)、分页展示基础
组合查询: 方法一:Queryable<> 延迟查询 其特点是:读到词句代码时不会立即执行,而是在进行数据绑定时执行 优点:此期间可以进行添加查询条件,以减少数据库查询内容,来减少内存占用 ...