摘要:Python标准库

  • 文件系统
  • os.path
  • glob.glob

os.path包

os.path包主要是处理路径字符串,比如说’/home/vamei/doc/file.txt’,提取出有用信息。

1
2
3
4
5
6
7
8
9
10
11

import os.path
path = '/home/vamei/doc/file.txt'
print(os.path.basename(path))    # 查询路径中包含的文件名
print(os.path.dirname(path))     # 查询路径中包含的目录
info = os.path.split(path)       # 将路径分割成文件名和目录两个部分,放在一个表中返回
path2 = os.path.join('/', 'home', 'vamei', 'doc', 'file1.txt')  # 使用目录名和文件名构成一个路径字符串
p_list = [path, path2]
print(os.path.commonprefix(p_list))    # 查询多个路径的共同部分

此外,还有下面的方法:

os.path.normpath(path)   # 去除路径path中的冗余。比如’/home/vamei/../.’被转化为’/home’

os.path还可以查询文件的相关信息(metadata)。文件的相关信息不存储在文件内部,而是由操作系统维护的,关于文件的一些信息(比如文件类型,大小,修改时间)。

1
2
3
4
5
6
7
8
9
10
11

import os.path
path = '/home/vamei/doc/file.txt'
print(os.path.exists(path))    # 查询文件是否存在
print(os.path.getsize(path))   # 查询文件大小
print(os.path.getatime(path))  # 查询文件上一次读取的时间
print(os.path.getmtime(path))  # 查询文件上一次修改的时间
print(os.path.isfile(path))    # 路径是否指向常规文件
print(os.path.isdir(path))     # 路径是否指向目录文件

(实际上,这一部份类似于Linux中的ls命令的某些功能)

glob包

glob包最常用的方法只有一个, glob.glob()。该方法的功能与Linux中的ls相似(参看Linux文件管理命令),接受一个Linux式的文件名格式表达式(filename pattern expression),列出所有符合该表达式的文件(与正则表达式类似),将所有文件名放在一个表中返回。所以glob.glob()是一个查询目录下文件的好方法。

该文件名表达式的语法与Python自身的正则表达式不同 (你可以同时看一下fnmatch包,它的功能是检测一个文件名是否符合Linux的文件名格式表达式)。 如下:

Filename Pattern Expression      Python Regular Expression

*                                .*

?                                .

[0-9]                            same

[a-e]                            same

[^mnp]                           same

我们可以用该命令找出/home/vamei下的所有文件:

1
2

import glob
print(glob.glob('/home/vamei/*'))

总结

文件系统

os.path

glob.glob

作者:Vamei 出处:http://www.cnblogs.com/vamei

Python标准库03 路径与文件 (os.path包, glob包)相关推荐

  1. pythondifflib详解_用python标准库difflib比较两份文件的异同详解

    [需求背景] 有时候我们要对比两份配置文件是不是一样,或者比较两个文本是否异样,可以使用linux命令行工具diff a_file b_file,但是输出的结果读起来不是很友好.这时候使用python ...

  2. python标准库模块路径_Python3的系统标准库pathlib模块的 Path 对路径的操作会更简单...

    而到了Python3时代后,Python3的系统标准库pathlib模块的 Path 对路径的操作会更简单.甚至可以说pathlib已经可以完全替代os.path,它完全采用面向对象的编程方式,因为P ...

  3. python的csv标准库,Python标准库: csv模块——CSV文件的读写

    CSV简介 CSV(Comma Separated Values,逗号分隔值)也称字符分隔值,因为分隔符可以不是逗号,是一种常用的文本格式,用以存储表格数据,包括数字或者字符.很多程序在处理数据时都会 ...

  4. Python 标准库之 fileinput 和 文件迭代器

    1. 使用 fileinput 进行迭代 fileinput 模块可以对一个或多个文件中的内容进行迭代.遍历等操作.该模块的 input() 函数有点类似文件 readlines 函数,但区别明显: ...

  5. Python标准库:codecs【专门做编码转换】【open()、encode()、decode()、lookup()、getencoder()】【读写文件codecs.open()优于open()】

    codecs专门用作编码转换,当我们要做编码转换的时候可以借助codecs很简单的进行编码转换 codecs模块提供一个open方法,三个参数encoding, errors, buffering,这 ...

  6. python基本使用-Python标准库详细介绍与基本使用方式,超详细!

    目录: Python 标准库概览概览 操作系统接口 os 模块提供了很多与操作系统交互的函数: 应该用 import os 风格而非 from os import *.这样可以保证随操作系统不同而有所 ...

  7. python标准库说明_Python标准库详细介绍与基本使用方式,超详细!

    目录: Python 标准库概览概览 操作系统接口 os 模块提供了很多与操作系统交互的函数: 应该用 import os 风格而非 from os import *.这样可以保证随操作系统不同而有所 ...

  8. python链表库_[转]为什么python标准库没有实现链表

    实际上刚开始学习一些高级语言的时候我也有同样的疑问,而且即使有链表对应物的语言,链表常常也很少被实际使用. 如果是在国外听数据结构的课,老师一般会警告你这只是一个理论概念,实际应用应该实际考察,在通常 ...

  9. Python 标准库 —— os 路径(os.path)

    <a href="http://blog.csdn.net/lanchunhui/article/details/50193327", target="_blank ...

最新文章

  1. 【es6】es6学习笔记
  2. 封装案例-02-创建(qiang)类
  3. Nginx+FastCGI支持HTTPS部署过程详述
  4. 从CTF比赛真题中学习压缩包伪加密与图片隐写术
  5. select for update作用
  6. Green Plum测试报告
  7. bat脚本集合adb shell命令实现快速截屏,远比手机助手去截屏方便
  8. 【Qt】运行报错Could not create directory “E:\xxxx-Debug“
  9. 伺服电机基本概念解析:伺服系统组成及其控制原理
  10. Web前端初步——IDE工具选择和emment插件
  11. 微信小程序云函数使用讲解
  12. 万和计算机学院,万和亿的换算(万和亿的换算计算器)
  13. 树莓派控制超声波测距原理及实现
  14. 在QPixmap的图片上添加文字
  15. C#读取Excel数据在CAD上展图
  16. 5G网络时钟:ePRTC
  17. 看到1元保险就想买?小心被割韭菜!
  18. 锐龙r7 6800h性能怎么样 相当于什么水平
  19. JetBrains 专为程序员推出新字体,开源免费可商用!
  20. Web报表系统葡萄城报表:报表软件

热门文章

  1. 基于firefly rk3399 Android 7.1实现的ros服务小机器人
  2. 尚硅谷spring和spring boot笔记_手机标准内存达12G,比笔记本电脑还高!可为何系统总能占一半?...
  3. MongoDB对指定键进行排序
  4. winpcap 发送数据包
  5. JQuery仿最新淘宝网首页带箭头幻灯片,JQuery轮播图
  6. JSP自定义标签渲染时报Illegal to flush错误
  7. openAL在mac下播放音源结束时判断处理
  8. 【数据挖掘知识点七】相关与回归分析
  9. Linux命令free解读
  10. centos下新建超级用户及sudoers权限问题