Python分享之路径与文件 (os.path包, glob包)

简介: Python分享之路径与文件 (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/*'))
相关文章
|
2天前
|
存储 索引 Python
一文让你搞懂 Python 的 pyc 文件
一文让你搞懂 Python 的 pyc 文件
34 10
|
1天前
|
IDE 开发工具 iOS开发
Python编程案例:查找指定文件大小的文件并输出路径
Python编程案例:查找指定文件大小的文件并输出路径
10 3
|
1天前
|
安全 测试技术 数据库
Python编程--sys模块及OS模块简单用例
Python编程--sys模块及OS模块简单用例
|
1天前
|
文件存储 iOS开发 MacOS
Python编程案例:文件查找并归类
Python编程案例:文件查找并归类
|
1天前
|
缓存 Linux 虚拟化
探索现代操作系统的架构与优化路径
本文旨在深入探讨现代操作系统的核心架构及其性能优化方法。通过对操作系统架构组件、关键技术及当前主流操作系统的分析,揭示其高效运作的背后机理,并从多个角度提出优化策略,为未来操作系统的发展提供参考。
|
1天前
|
IDE 开发工具 数据安全/隐私保护
Python编程实现批量md5加密pdf文件
Python编程实现批量md5加密pdf文件
|
1天前
|
存储 JSON 数据格式
Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
5 0
|
1天前
|
iOS开发 MacOS Python
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
|
2天前
|
存储 JSON 数据格式
解密 parquet 文件,以及如何用 Python 去处理它(一)
解密 parquet 文件,以及如何用 Python 去处理它
12 0
|
3月前
|
Python
Python基本文件操作及os库
以上仅为Python文件操作和os库的基本用法,实际使用中需要根据具体需求进行调整。
22 1