您的位置:首页 > 编程语言 > Python开发

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

2016-09-09 10:07 901 查看
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']


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: