8.1 pathlib--面向对象设计的文件系统路径

8. 文件和目录的使用库

本库主要提供了处理磁盘文件和目录相关功能。比如有些模块读取文件属性,或者使用一个通用方式操作文件路径,或者创建一个临时文件。

8.1 pathlib--面向对象设计的文件系统路径

本模块主要提供了不同操作系统下的文件系统路径的操作方式。路径类分为纯路径操作无I/O操作的类和有I/O操作相关的类。整个路径的继承关系图如下:

如果从来没有使用过本模块里的类,以及也不清楚使用那一个类时,可以先使用Path类,它提供了一些协助操作路径的类。

纯路径操作在某种情况之下,也是有特殊的需要:

1. 比如在Unix系统下操作Windows路径,这时在Unix下面没办法使用 WindowsPath类,就可以使用PureWindowsPath类。

2. 比如只想操作路径,但不访问OS的路径相关功能。

8.1.1 基本使用

导入主要使用的类和显示当前子目录:

#python 3.4

from pathlib import Path

p = Path(‘.‘)

r = [x for x in p.iterdir() if x.is_dir()]

print(r)

结果输出如下:

[WindowsPath(‘micropython-master‘)]

查找一个目录下的文件,判断路径是否为目录,判断文件是否存在

例子:

#python 3.4

from pathlib import Path

p = Path(‘F:\\temp\\py‘)

print(list(p.glob(‘**/*.py‘)))

q = p / ‘cal_1.py‘

print(q, q.resolve(), q.exists(), q.is_dir())

结果输出如下:

[WindowsPath(‘F:/temp/py/bisect1.py‘), WindowsPath(‘F:/temp/py/cal_1.py‘), WindowsPath(‘F:/temp/py/chainmap1.py‘), WindowsPath(‘F:/temp/py/chainmap2.py‘), WindowsPath(‘F:/temp/py/closescreen.py‘), WindowsPath(‘F:/temp/py/codecs1.py‘), WindowsPath(‘F:/temp/py/complex1.py‘), WindowsPath(‘F:/temp/py/copy1.py‘), WindowsPath(‘F:/temp/py/datetimetz.py‘), WindowsPath(‘F:/temp/py/dec1.py‘), WindowsPath(‘F:/temp/py/difflib1.py‘), WindowsPath(‘F:/temp/py/difflib2.py‘), WindowsPath(‘F:/temp/py/difflib3.py‘), WindowsPath(‘F:/temp/py/difflib4.py‘), WindowsPath(‘F:/temp/py/difflib5.py‘)]

F:\temp\py\cal_1.py F:\temp\py\cal_1.py True False

蔡军生 QQ:9073204  深圳

时间: 2024-12-18 20:39:12

8.1 pathlib--面向对象设计的文件系统路径的相关文章

Python3的pathlib模块:驯服文件系统

目录 python文件路径处理时的问题 创建路径 读写文件 找出路径的组成部分 移动和删除文件 例子 计算文件数量 显示目录树 查找上次修改的文件 创建唯一的文件名 操作系统的差别 以合适的对象表现路径 结论 你是否遇到过使用python处理文件路径时的麻烦呢?在python 3.4以及更高版本中,这些麻烦不复存在.不再需要像下面这样从头开始编写代码: 或者编写下面这样冗长烦人的代码: 在这篇文章中,你将看到怎样使用python处理文件路径-目录和文件的名字. python文件路径处理时的问题

面向对象设计——泛型的愉快体验

在实际的项目中,我们经常看到有人写了很多代码,抽象了很多类,而这些类无不是采用了泛型和委托,应用了这辆种技术后,经常有人给我们说,代码的复用性和耦合性就降低了,那作为一个合格的面向对象的程序设计人员,这种技术成为了我们的必备技能,今天就跟着我一起来一次轻松愉快的旅行! 定义(如果吃力,请直接看我对他的注解): 泛型是程序设计语言的一种特性.允许程序员在强类型程序设计语言中编写代码时定 义一些可变部分,那些部分在使用前必须作出指明.各种程序设计语言和其编译器.运行环境对泛型的支持均不一样.将类型参

7种面向对象设计的强大之处

凭什么要用面向对象来编程,不用是否可以?今天我们通过讲这么几个设计原则来说明为什么要用面向对象,它的好处在哪里. 一.单一职责原则: 全称:“Single-Responsibility Principle”面向对象设计 说明:就一个类而言,应该只专注于做一件事和仅有一个引起它变化的原因.所谓职责,我们可以理解他为功能,就是设计的这个类功能应该只有一个,而不是两个或更多.也可以理解为引用变化的原因,当你发现有两个变化会要求我们修改这个类,那么你就要考虑撤分这个类了.因为职责是变化的一个轴线,当需求

Java程序员应该了解的10个面向对象设计原则

面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorator.Observer这样的设计模式,而不重视面向对象的分析和设计.甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程. 众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计.查看Ap

设计模式2 面向对象设计原则

面向对象设计原则  原则的目的 面向对象设计原创表  单一职责原则案例 开闭原则 案例 依赖倒转原则 案例 面向对象设计原则  对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一.在面向对象设计中,可维护性的复用是以设计原则为基础的.每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平.  面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含

面向对象设计原则

七大原则:开闭原则.里氏代换原则.依赖倒转原则.合成/聚合复用原则.迪米特法则.接口隔离原则,单一职责原则. 开闭原则是面向对象的可复用的基石.其他六种原则是手段和工具. 各规则详细(本部分为转载) http://kb.cnblogs.com/page/214010/ 正如牛顿三大定律在经典力学中的位置一样,“开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石.其他设计原则(里氏代换原则.依赖倒转原则.合

面向对象设计的SOLID原则

S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写. SRP The Single Responsibility Principle 单一责任原则 OCP The Open Closed Principle  开放封闭原则 LSP The Liskov Substitution Principle 里氏替换原则 DIP The Dependency Inversion Principle 依赖倒置原则 ISP The

软件工程概论第八章--面向对象设计

面向对象设计主要讲设计的概念.软件体系结构.系统设计.详细设计.应用设计模式.用户界面设计和设计文档等方面知识,面向对象的设计是面向对象技术中比较重要的阶段. 设计的概念中讲了设计活动和设计原则,设计是一个建模活动,此活动能实现从需求分析到软件实现间的跨越.设计原则主要有模块化.耦合度和内聚性和复用性,模块化可以使复杂的系统简化,耦合度和内聚性分别是子系统间的关联程度和系统内部的相关程度,降低耦合性提高内聚性.复用性利用以开发的软件元素生成新的软件系统. 软件体系结构主要有仓库体系结构,分层体系

【设计模式】#001 面向对象设计的八个原则

1.对于面向对象的软件系统设计来说,在支持可维护性的同事,需要提高系统的可复用性 2.软件的复用可以提高软件的开发效率,提高软件的质量,节约开发成本,恰当的复用还可以改善系统的可维护性 3.面向对象设计简化成三条 3.1 封装变化点 3.2 对接口编程 3.3 多使用组合,少使用继承 点击查看大图: