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

路径与文件的简介请参看Linux文件系统

os.path包

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

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)。文件的相关信息不存储在文件内部,而是由操作系统维护的,关于文件的一些信息(比如文件类型,大小,修改时间)。

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下的所有文件:

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

总结

文件系统

os.path

glob.glob

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python攻城狮

Python操作redis

1 .用户登录首先判断是否在redis缓存中,如果在redis缓存中,直接登录成功; 2 .若用户未在redis缓存,则访问Mysql,判...

2163
来自专栏张伟博客

双系统下Linux(ubuntu)不能进入windows的NTFS分区之挂载错误问题解决

1795
来自专栏史上最简单的Spring Cloud教程

Linux基础之常用命令篇

这一篇文件主要记录了一些linux的基础命令。需要读者有linux服务器或者有mac电脑去练习。^`^. 一、命令的基本格式 [root@localhost~...

2345
来自专栏Java帮帮-微信公众号-技术文章全总结

Dubbo入门学习--Dubbo简单示例(2)

Dubbo入门学习--Dubbo简单示例 1、Zookeeper安装 从Zookeeper官网下载,进入到bin目录下,在cms中执行zkServer就可以运...

3316
来自专栏耕耘实录

Linux中find命令的使用详解(中)

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

1032
来自专栏程序员同行者

mysql命令行修改字符编码

1752
来自专栏nummy

sphinx入门指南【1】快速入门

包含.rst文件的根目录称之为源文件目录,目录中还包含sphinx的配置文件conf.py。

1724
来自专栏拂晓风起

Flash builder打包as actionscript代码,发布swc

1374
来自专栏PHP实战技术

你应该这个姿势学习PHP(4)

1、fopen() fwrite() fclose() fiel_put_contents

54515
来自专栏marsggbo

Flask入门笔记(一)

一、程序的基本结构 1.1 最简单的Flask程序 1 2 3 4 5 6 7 8 9 10 11 12 13 14#coding=utf-8 # 初始化 ...

2038

扫码关注云+社区

领取腾讯云代金券