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.txt

os.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]

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。