python文件与路径操作神器 pathlib
pathlib中封装了PurePath
和Path类,前者用于处理路径风格的字符串;后者是前者的子类,可直接处理路径。
PurePath
最甜的功能是重载了运算符,从而可以实现类似下面这种
>>> from pathlib import Path, PurePath >>> pp = PurePath("E:/") >>> pp PureWindowsPath('E:/') >>> pp/"test" PureWindowsPath('E:/test')
对于PurePath对象来说,可调用下面的成员或成员函数:
其中,主文件名即去除后缀之后的文件名。
PurePath
类中还有一些稍微复杂的函数,
>>> pp = PurePath("E:\Code\test.py") # 用于匹配文件后缀 >>> pp.match("*.py") True # 去除基准路径 >>> pp.relative_to("E:\\") PureWindowsPath('Code\test.py') # 更改文件名 >>> pp.with_name('test1.py') PureWindowsPath('E:/test1.py') # 更改后缀名 >>> pp.with_suffix(".md") PureWindowsPath('E:/Code\test.md') # 更改主文件名 >>> pp.with_stem("help.md") PureWindowsPath('E:/help.md.py')
Path
Path是PurePath的子类,在PurePath的基础上添加了一些判定函数,
判定函数 | ,is_file,is_fifo, is_block_device,is_char_device, is_mount,is_symlink,is_socket |
Path对象还可以打开并写入数据,但令人绝望的是并没有close函数,所以并不建议使用。或者说,这个Path.open不像是给程序员使用的,因为Path中提供了更加便捷的读写方式read_bytes,read_text以及write_bytes、write_text。
例如:
>>> p = Path(r'E:\Documents\00\0324\Test.txt') >>> p.write_text("hello world") 11 >>> p.read_text() 'hello world' >>>
此外,可用于直接操作文件和文件夹,提供了非常强大的文件处理功能。Path和os中提供的函数在功能上对应如下
到此这篇关于python文件与路径操作神器 pathlib的文章就介绍到这了,更多相关python 中的pathlib内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
python3 pathlib库Path类方法总结
这篇文章主要介绍了python3 pathlib库Path类方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.调用库 from pathlib import Path 2.创建path对象 p = Path(file) 3.方法总结 p.cwd() # 获取当前路径 p.stat() # 获取当前文件的信息 p.exists() # 判断当前路径是否是文件或者文件夹 p.glob(filename) # 获取路径下的所有符合filen
-
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
以下代码以Python3.6.1 / windows10为例 Less is more! #!/usr/bin/env python # coding=utf-8 __author__ = 'Luzhuo' __date__ = '2017/5/7' import os def os_demo(): # 执行命令 dirs = os.popen("dir").read() print(dirs) # 打印目录树 dirs_info = os.scandir() for info in
-
Python pathlib模块使用方法及实例解析
pathlib 模块中包含的是一些类,它们的继承关系如图 1 所示. 图 1 pathlib模块中类的组织结构 图 1 中,箭头连接的是有继承关系的两个类,以 PurePosixPath 和 PurePath 类为例,PurePosizPath 继承自 PurePath,即前者是后者的子类. pathlib 模块的操作对象是各种操作系统中使用的路径(例如指定文件位置的路径,包括绝对路径和相对路径).这里简单介绍一下图 1 中包含的几个类的具体功能: PurePath 类会将路径看做是一个普通的字
-
Python中的pathlib.Path为什么不继承str详解
起步 既然所有路径都可以表示为字符串,为什么 pathlib.Path 不继承 str ? 这个想法的提出在 https://mail.python.org/pipermail//python-ideas/2016-April/039475.html 可以看到,其中,还提出了将 p'/some/path/to/a/file' 返回 path.Path 实例的想法. 路径都是字符串吗? 从面向对象的继承的思想来看,如果 Path 继承自 str ,那么所有的路径都应该是字符串.但所有的路径都是字符
-
python中pathlib模块的基本用法与总结
前言 相比常用的 os.path而言,pathlib 对于目录路径的操作更简介也更贴近 Pythonic.但是它不单纯是为了简化操作,还有更大的用途. pathlib 是Python内置库,Python 文档给它的定义是:The pathlib module – object-oriented filesystem paths(面向对象的文件系统路径).pathlib 提供表示文件系统路径的类,其语义适用于不同的操作系统. 更多详细的内容可以参考官方文档:https://docs.python.
-
Python标准库pathlib操作目录和文件
目录 pathlib 基本组件 常用属性和基本方法 总结 学习 Python 时,尤其是在进行文件操作和数据处理时,经常会处理路径问题.最常用和常见的是 os.path 模块,它将路径当做字符串进行处理,如果使用不当可能导致难以察觉的错误,而且代码很难跨平台复用.pathlib 就是一个非常棒的Python标准库,超级好用. pathlib模块提供了一种在 POSIX 系统(如 Linux 和 Windows)下运行良好的高级抽象,它抽象了资源路径和资源命名结构,把文件系统接口从os模块中隔离出
-
对python3中pathlib库的Path类的使用详解
用了很久的os.path,今天发现竟然还有这么好用的库,记录下来以便使用. 1.调用库 from pathlib import 2.创建Path对象 p = Path('D:/python/1.py') print(p) #可以这么使用,相当于os.path.join() p1 = Path('D:/python') p2 = p1/'123' print(p2) 结果 D:\python\1.py D:\python\123 3.Path.cwd() 获取当前路径 path = Path.cw
-
python文件与路径操作神器 pathlib
pathlib中封装了PurePath和Path类,前者用于处理路径风格的字符串:后者是前者的子类,可直接处理路径. PurePath最甜的功能是重载了运算符,从而可以实现类似下面这种 >>> from pathlib import Path, PurePath >>> pp = PurePath("E:/") >>> pp PureWindowsPath('E:/') >>> pp/"test"
-
python 文件和路径操作函数小结
1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.listdir('..') 2: os.path.walk(path,visit,arg) path :是将要遍历的目录 visit :是一个函数指针,函数圆形为: callback(arg,dir,fileList) 其中arg为为传给walk的arg , dir是path下的一个目录,fileList为dir下的文件和目录组成的list, arg:传给v
-
Python文件及目录操作实例详解
本文实例讲述了Python文件及目录操作的方法.分享给大家供大家参考.具体分析如下: 在python中对文件及目录的操作一般涉及多os模块,os.path模块.具体函数以及使用方法在程序中说明. #!/usr/bin/env python #-*- coding=UTF8 -*- import os import os.path as op def change_dir(): ''' 该函数显示及改变前目录 using chdir() to change current dir getcwd()
-
python文件与目录操作实例详解
本文实例分析了python文件与目录操作的方法.分享给大家供大家参考,具体如下: 关于python文件操作的详细说明,大家可以参考前一篇<python文件操作相关知识点总结整理> 官方API:os-Miscellaneous operating system interfaces 下面是demo示例: import re import os import time #图片文件路径 image_path = 'E:\\test\\20130627_140132Hongten.jpg' #文件夹路
-
python文件与路径管理方法
Python标准库的OS模块对操作系统的API进行了封装,并且使用统一的API访问不同操作系统的相同功能.OS模块包含与操作系统的系统环境.文件系统.用户数据库以及权限进行交互的函数.充分使用OS模块就能够编写出跨平台的程序. path = os.getcwd() print(path) print(os.listdir('.'))#显示当前目录下的文件及文件夹 os.path模块用来对文件和路径进行管理,显然,它会包含很多拆分路径的函数.os.path模块中与拆分路径相关的函数有: 1.spl
-
python文件绝对路径写法介绍(windows)
python在描述路径时有两种方式: 'd:\\a.txt',转义的方式 r'd:\a.txt',声明字符串不需要转义 (使用raw string,也就是在string'前面加r,告诉python不需要转义) 推荐使用此写法"/",可以避免很多异常: C:/Users/Administrator/Desktop/python/t1.txt 以上这篇python文件绝对路径写法介绍(windows)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
Python文件和目录操作详解
一.文件的打开和创建 1.打开 复制代码 代码如下: open(file,mode): >>>fo = open('test.txt', 'r') >>>fo.read() 'hello\n' >>>fo.close() file(file,mode): >>>f = file('test.txt', 'r') >>>f.read() 'hello\n' >>>f.close() mode可取值:
-
Python文件读写保存操作的示例代码
记录下第一次使用Python读写文件的过程,虽然很简单,第一次实现其实也有些注意的事项. 单个文件的读操作: 我们先假设一个需求如下: 读取一个test.txt文件 删除指定字符之前的文本 需求明白之后,下面开始动手写代码,代码很简单.就直接上全部的,细节看注释: import sys filePath = "/Users/xxxxxx/Desktop/test.txt" # 打开文件 files = open(filePath, 'r') # 转成list f_list = file
-
python文件及目录操作代码汇总
前言 在python中,内置了文件(file)对象,通过一些内置的方法就可以实现对文件的操作,例如open()方法创建一个文件对象,write()方法向文件写入内容. 一.文件基本操作 1.创建和打开文件 想要操作文件,先要创建或者打开指定文件并创建文件对象,可以通过内置函数open()来实现. file = open(file_name[,mode[,buffering]]) ''' file_name : 要创建或者打开的文件名 mode : 用于指定文件打开的方式 ''' mode参数的参
-
python 文件与目录操作
1)os.path 1.1 os.path.isabs(path) 是否是绝对路径 1.2 os.path.isfile(path) 1.3 os.path.isdir(path) 1.4 os.path.islink(path) 是否是链接:但如果系统不支持链接,返回False 1.5 os.path.ismount(path) 是否为驱动器:但是很不幸的是在python 3.0中这是个不能运行的函数. 原函数如下: # Is a path a mount point? Either a ro
随机推荐
- PHP下ereg实现匹配ip的正则
- VBS教程:正则表达式简介 -定位符
- 批处理命令教学之复合语句连接符(&、&&和||)
- SQL Server 2005删除日志文件的几种方法小结
- 浅谈Java中static和非static的区别
- 详解SpringBoot配置devtools实现热部署
- JS克隆,属性,数组,对象,函数实例分析
- 用PHP将数据导入到Foxmail
- ASP在SQL Server 2000中新建帐号和权限
- php开启安全模式后禁用的函数集合
- shell脚本递归遍历目录及子目录的例子分享
- 基于jQuery滑动杆实现购买日期选择效果
- node.js操作mongoDB数据库示例分享
- nodejs 实现模拟form表单上传文件
- php邮件发送,php发送邮件的类
- jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
- 如何动态的导入js文件具体该怎么实现
- Android笔记之:App自动化之使用Ant编译项目多渠道打包的使用详解
- 重温C# clr 笔记总结
- Android手势滑动实现ImageView缩放图片大小