首页 > 代码库 > python学习笔记24(路径与文件 (os.path包, glob包))

python学习笔记24(路径与文件 (os.path包, glob包))

os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法。

>>> import os.path>>> path = /home/ethon/doc/file.txt>>> os.path.abspath(path)    # 返回path规范化的绝对路径C:\\home\\ethon\\doc\\file.txt>>> os.path.split(path)      # 将path分割成目录和文件名二元组返回(/home/ethon/doc, file.txt)>>> os.path.dirname(path)    # 返回path的目录,其实就是os.path.split(path)的第一个元素/home/ethon/doc>>> os.path.basename(path)   # 返回path最后的文件名,如果path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。file.txt>>> >>> os.path.commonprefix([/home/ethon,/home/ethon/doc,/home/ethon/doc/ff])  # 返回list中,所有path共有的最长的路径/home/ethon

 os.path还可以查询文件的相关信息(metadata)

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

glob包

‘‘‘在python中,glob模块是用来查找匹配的文件的在查找的条件中,需要用到Unix shell中的匹配规则:*    :   匹配所所有?    :   匹配一个字符*.*  :   匹配如:[hello.txt,cat.xls,xxx234s.doc]?.*  :   匹配如:[1.txt,h.py]?.gif:   匹配如:[x.gif,2.gif]如果没有匹配的,glob.glob(path)将返回一个空的list:[]‘‘‘

demo

技术分享

>>> import glob>>> glob.glob(c:\\pict\\*.*)[c:\\pict\\Model.txt, c:\\pict\\output.txt, c:\\pict\\output.xls, c:\\pict\\pict.exe, c:\\pict\\PICTHelp.htm]

 

python学习笔记24(路径与文件 (os.path包, glob包))