liyihao

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

 

原链:

笔记:glob.glob()内容有点少,后续补充

#27讲 os.path包
#os.path包处理路径字符串,提取有效信息

import os.path
path = 'D:\\Program Files\\Microsoft Office'

print (os.path.basename(path))
#查询路径中包含的文件名,就是查询path 里面包含的文件名
#输出 Microsoft Office

print (os.path.dirname(path))
#查询路径中包含的目录,就是path文件前面的路径
#输出 D:\Program Files

print (os.path.split(path))
#将路径分为文件名和目录两个部分,返回tuple
#输出 ('D:\\Program Files', 'Microsoft Office')

#新建路径字符串
path2 = os.path.join('D:\\','Program Files','Microsoft Office','Office 15')
print (path2)
#将目录名  文件名 组成成一个新的路径字符串
#输出 'D:\Program Files\Microsoft Office\Office 15'

p_list = [path, path2]
print (p_list)
print (os.path.commonprefix(p_list))
#显示将2个path 组成一个list 返回,这里可以是多个path ,然后比较两个path的共同部分
#输出共同部分

print (os.path.normpath(path2))
#是去除path 的冗余
# 预期是D:\Microsoft Office,然而不是

'''
Normalize a pathname by collapsing redundant separators and up-level references so that A//B, A/B/, A/./B and A/foo/../B all become A/B. This string manipulation may change the meaning of a path that contains symbolic links. On Windows, it converts forward slashes to backward slashes. To normalize case, use normcase()
'''
#看了官方doc,是规范化路径   A//B A/B/  A/./B  A/foo/../B   都变成A/B
path3 = os.path.normpath('c://windows\\System32\\../Temp/')
#输出 'c:\\windows\\Temp'

path4 = os.path.normcase(path3)
print (path4)


'''
os.path查询文件相关信息,文件相关信息不存储在文件内部,是由操作系统维护的,文件类型,文件大小,修改时间
'''

path = 'D:\\360Downloads\\Software\\name1.txt'
print (os.path.exists(path))
print (type(os.path.exists(path)))
#判断path 是否真的存在,返回True False
#返回True    <class 'bool'>

print (os.path.getsize(path))
#查询文件大小,返回了字节数   
print (type(os.path.getsize(path)))
#<class 'int'>

print (os.path.getatime(path))
#查询文件上一次读取的时间
#输出1510051874.734135
print (type(os.path.getatime(path)))
#输出是时间,wall clock time ,浮点数

print (os.path.getmtime(path))
#查询文件上一次修改的时间
#输出:1510051899.8420906
#返回应该也是浮点数
print (type(os.path.getmtime(path)))

print (os.path.isfile(path))
#路径是否指向常规文件

print (os.path.isdir(path))
#是不是目录

#上面两个返回应该都是布尔值




'''
glob包
常用方法glob.glob(),与linux ls相似,显示该目录所有文件
接受一个linux文件名格式表达式,列出符合该表达式的文件,有点像正则,放在表返回

filename pattern expression         python re
*                                    .*
?                                    .
[0-9]                                same
[a-e]                                same
[^mnp]                               same

'''

#可以用命令找出目录下所有文件
import glob
path = 'D:\\apktool\\*'
print (glob.glob(path))#返回目录下所有文件
print (type(glob.glob(path)))#list返回



'''
python 正则 ^
从头开始匹配,起始部分
'''

 

posted on 2017-11-07 20:39  liyihao  阅读(274)  评论(0)    收藏  举报