Python(10):文本处理,正则表达式
来源:互联网 发布:js定义json数组并赋值 编辑:程序博客网 时间:2024/06/05 15:02
os.getcwd() 返回当前目录
os.listdir(directory) 返回directory目录中的文件名和子目录列表
os.stat(path) 返回一个元组,关于文件的信息
st_mode:文件的访问权限
st_ino:节点数(UNIX)
st_dev:设备号
st_nlink:链接号(UNIX)
st_uid:所有者的用户id
st_gid:所有者的组id
st_size:文件的大小
st_atime:最后访问时间
st_mtime:最后修改时间
st_ctime:创建时间
os.path.split(path) 将路径分割为符合当前操作系统的组成名称。返回一个元组
os.path.join(components) 将名称链接成符合当前操作系统的路径,
os.path.normcase(path) 规范化路径的大小写。unix下文件名是区分大小写的,所以没影响,但是在windows下,操作系统在比较文件名的时候是忽略大小写的。在windows下,会返回一个全小写的路径。
os.walk(top, topdown = True, onerror = None, followlinks = False)
可以自上而下或者自下而上迭代目录树。对每个目录,创建一个由dirpath、dirnames、filenames组成的三元组。
dirpath部分是一个保存目录路径的字符串。
dirnames部分是dirpath中子目录的列表,不包括"."和".."。
filenames是dirpath中每个非目录文件的一个列表。
找到某个目录下所有的pdf文件:
正则表达式的简单实用例子:
>>> os.getcwd()'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32'
os.listdir(directory) 返回directory目录中的文件名和子目录列表
>>> a = os.getcwd()>>> os.listdir(a)['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'python3.dll', 'python36.dll', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools', 'vcruntime140.dll']
os.stat(path) 返回一个元组,关于文件的信息
st_mode:文件的访问权限
st_ino:节点数(UNIX)
st_dev:设备号
st_nlink:链接号(UNIX)
st_uid:所有者的用户id
st_gid:所有者的组id
st_size:文件的大小
st_atime:最后访问时间
st_mtime:最后修改时间
st_ctime:创建时间
>>> b = os.listdir(a)>>> os.stat(b[1])os.stat_result(st_mode=16895, st_ino=281474976800257, st_dev=3537546670, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1486357558, st_mtime=1486357558, st_ctime=1486357558)
os.path.split(path) 将路径分割为符合当前操作系统的组成名称。返回一个元组
>>> os.path.split(a)('C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python', 'Python36-32')其实就是将最后的文件或者目录分割开
os.path.join(components) 将名称链接成符合当前操作系统的路径,
os.path.normcase(path) 规范化路径的大小写。unix下文件名是区分大小写的,所以没影响,但是在windows下,操作系统在比较文件名的时候是忽略大小写的。在windows下,会返回一个全小写的路径。
os.walk(top, topdown = True, onerror = None, followlinks = False)
可以自上而下或者自下而上迭代目录树。对每个目录,创建一个由dirpath、dirnames、filenames组成的三元组。
dirpath部分是一个保存目录路径的字符串。
dirnames部分是dirpath中子目录的列表,不包括"."和".."。
filenames是dirpath中每个非目录文件的一个列表。
找到某个目录下所有的pdf文件:
#!/usr/bin/env python 3.6import os, os.path #os系统相关的模块import re #正则表达式的模块def print_pdf(root, dirs, files):#找到pdf文件,打印出来 for file in files: path = os.path.join(root, file) path = os.path.normcase(path) #拼凑一个完整的路径出来 if re.search(r".*\.pdf", path): #看看是不是pdf文件 print(path)#对当前目录进行遍历,并搜索pdf文件for root, dirs, files in os.walk('.'): print_pdf(root, dirs, files)
正则表达式的简单实用例子:
import re #引入正则表达式的模块#创建一个字符串元组供搜索s = ('xxx','abcxxxabc','xyx','abc','x.x','axa','axxxxa','axxya')a = filter((lambda s: re.match(r"xxx",s)), s)#match 完全匹配print(*a) #xxxa = filter((lambda s: re.search(r"xxx",s)), s)#search 搜索print(*a) #xxx abcxxxabc axxxxaa = filter((lambda s: re.search(r"x.x",s)), s)#search 搜索,'.'匹配任意字符print(*a) #xxx abcxxxabc xyx x.x axxxxaa = filter((lambda s: re.search(r"x\.x",s)), s)#search 搜索,'\.'就是.了print(*a) #x.xa = filter((lambda s: re.search(r"x.*x",s)), s)#search 搜索,*匹配任意次数print(*a) #xxx abcxxxabc xyx x.x axxxxa axxyaa = filter((lambda s: re.search(r"x.+x",s)), s)#search 搜索,+至少出现一次print(*a) #xxx abcxxxabc xyx x.x axxxxaa = filter((lambda s: re.search(r"c+",s)), s)#search 搜索,至少有一个cprint(*a) #abcxxxabc abc#用[]表示要匹配的特殊字符集,用^表示非#要用^和$在开头和结尾表示从头到尾不包含c字符a = filter((lambda s: re.search(r"^[^c]*$",s)), s)#search 搜索,至少有一个cprint(*a) #xxx xyx x.x axa axxxxa axxya
1 0
- Python(10):文本处理,正则表达式
- 正则表达式处理文本
- 正则表达式--处理文本
- 文本(字符串)处理与正则表达式
- linux正则表达式处理文本
- 用正则表达式处理文本
- 用正则表达式处理文本
- Linux---文本处理(正则表达式,grep,awk,sed)
- R语言:文本(字符串)处理与正则表达式
- R语言:文本(字符串)处理与正则表达式
- R语言︱文本(字符串)处理与正则表达式
- R语言:文本(字符串)处理与正则表达式
- R语言:文本(字符串)处理与正则表达式
- 正则表达式与文本格式化处理
- Shell文本处理 (3) grep 正则表达式
- 正则表达式与文本格式化处理
- Linux文本处理与正则表达式
- 正则表达式与文本处理类命令
- HDFS目录介绍
- 工作准备3
- POJ3660 Cow Contest
- HDU 2089 数位dp 不要62
- 开发Android三年之谈
- Python(10):文本处理,正则表达式
- jsp分页
- 屏幕水印显示组件(窗口水印显示组件)
- 二叉树及其表示(1) 遍历
- java程序加载过程
- 总结广告轮播书写方式(一.js原生)
- 51nod-1010 只包含因子2 3 5的数
- Maven+Spring环境搭建
- 数学中的初等函数