原链:
笔记: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 正则 ^ 从头开始匹配,起始部分 '''
浙公网安备 33010602011771号