Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python中re time os sy

python中re time os sy

作者头像
py3study
发布于 2020-01-14 13:02:43
发布于 2020-01-14 13:02:43
75400
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

re模块

正则表达式

这里写反斜杠也是转义的意思,python在re模块中使用都需要加反斜杠

  • \d 是匹配一个数字
  • \+ 大于等于1
  • \w 匹配数字字母下划线和中横杠
  • \* 匹配0个或多个
  • \t 指标符
  • . 除了回车意外的的所有
  • * 大于等于0
  • + 大于等于1
  • ? 0或1
  • {m},{m,n} 出现m次,出现m到n次,包括mn re匹字符串 re.match()
  • re.match(pattern, string, flags) 默认有3个参数,是最后一个我们不是很关注他,就默认。 通过你前面写的pattern(正则表达式的意思),匹配后面的string(字符串),他只能在你给的字符串的起始位置查找,注意和search的区别。 还有根据实践的结果,如果匹配失败返回none re.search() 他和match有相同的作用,但是有区别。他会在整个字符串内容中匹配,直到找到第一个相匹配的字符串。 re.findall() 他和match和search差不多,但是他是找出字符串中所有的 import re result1 = re.match('\d+','dshfjasdsf23432dhfhsjdjfhjsd') if result1: print result1.group() result2 = re.search('\d+','dshfjasdsf23432dhfhsjdjfhjsd') print result2 print result2.group() result3 = re.findall('\d+','dshfjasdsf23432dhfhsjdjfhjsd34') print result3 #输出结果: <_sre.SRE_Match object at 0x0000000002BFA510> 23432 ['23432', '34'] 编译正则表达式 re.compile 他和编译生成的.pyc文件差不多,.pyc是为了再次使用时快速调用。正则表达式也可以经过编译,编译之后匹配其他的也会加快匹配速度 com = re.compile('\d+') print type(com) 输出结果: <type '_sre.SRE_Pattern'> 他返回了一个对象
  • 使用方法: 也就是直接调用返回对象findall函数 com = re.compile('\d+') print com.findall('dshfjasdsf23432dhfhsjdjfhjsd34')

练习

  • 匹配一个文件中的所有字符串
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import re
f = open('love.txt','r')
feitian = f.read()
f.close()
print re.findall('a',feitian)
##也可以一行一行的匹配
f = open("love.txt", "r")  
while True:  
    line = f.readline()  
    if line:  
        line=line.strip()
        p=line.rfind('.')
        filename=line[0:p]
        print  line
    else:  
        break
f.close()
输出:
['a', 'a', 'a']

正则表达式中的分组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
result2 = re.search('(\d+)\w*(\d+)','dshfjasdsf23432dhfhs23423jdjfhjsd')
print result2.group()
print result2.groups()
#输出结果:
23432dhfhs23423
('23432', '3')
#注意: 他不重复拿,这里解释一下为什么第二个输出为3,因为中间都被\w*接收了,这里我们在给一个例子
result2 = re.search('(\d+)dhfhs(\d+)','dshfjasdsf23432dhfhs23423jdjfhjsd')
print result2.group()
print result2.groups()
输出结果:
23432dhfhs23423
('23432', '23423')

练习

  • 匹配一个字符串中的ip import re ip = 'sdhflsdhfj1723.234.234234.df.34.1234.df.324.xc.3+dsf172.25.254.1 sdfjk2130sdkjf.sdjfs' result1 = re.findall('(?:\d{1,3}\.){3}\d{1,3}',ip) result2 = re.findall('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}',ip) print result1 print result2 #输出结果: ['172.25.254.1'] ['172.25.254.1'] time 模块

时间的表示方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import time 
print time.time()
1510923748.06
#计算从197011日到现在有多少秒
print time.gmtime()
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=17, tm_hour=13, tm_min=2, tm_sec=28, tm_wday=4, tm_yday=321, tm_isdst=0)
格式化成一个对象,他是当前的时间
print time.strftime('%Y%m%d')
20171117
输出格式化之后的时间,他的格式化和linux一样

他们之间的转换

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print time.strptime('2017-11-17','%Y-%m-%d')
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=321, tm_isdst=-1)
#将字符串转化成结构化的时间格式
print time.localtime()
print time.mktime(time.localtime())
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=17, tm_hour=21, tm_min=17, tm_sec=57, tm_wday=4, tm_yday=321, tm_isdst=0)
1510924677.0
#结构化的时间转化成时间戳的格式
#字符串格式的时间转时间戳格式他不能直接转,必须要中转

第一部分时间戳形式存在,第二部分以结构化形式存在,第三部分以字符串形式存在

os模块

  • os.sep可以取代操作系统特定的路径分隔符。windows下为 “\”
  • os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。
  • os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
  • os.getenv()获取一个环境变量,如果没有返回none
  • os.putenv(key, value)设置一个环境变量值
  • os.listdir(path)返回指定目录下的所有文件和目录名。
  • os.remove(path)函数用来删除一个文件。
  • os.system(command)函数用来运行shell命令。
  • os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
  • os.path.split(p)函数返回一个路径的目录名和文件名。
  • os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
  • os.path.existe()函数用来检验给出的路径是否真地存在
  • os.curdir:返回当前目录('.')
  • os.chdir(dirname):改变工作目录到dirname
  • os.path.getsize(name):获得文件大小,如果name是目录返回0L
  • os.path.abspath(name):获得绝对路径
  • os.path.normpath(path):规范path字符串形式
  • os.path.splitext():分离文件名与扩展名
  • os.path.join(path,name):连接目录与文件名或目录
  • os.path.basename(path):返回文件名
  • os.path.dirname(path):返回文件路径
  • os.stat() 相当于 Linux 下 stat 命令
  • os.listdir() 列出给定目录的内容
  • os.mkdir(path) 创建目录
  • os.mkdirs(path) 创建目录树,相当于mkdir -p 操作 sys模块
  • sys.argv 获取传递给脚本的参数,参数解析类似于 bash 的方式,第 一个参数代表脚本本身
  • sys.exit(n) 退出程序,正常退出时exit(0)
  • sys.version 获取Python解释程序的版本信息
  • sys.maxint 最大的Int值
  • sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
  • sys.platform 返回操作系统平台名称
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/06/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python常用函数总结
print()会依次打印每个字符串,遇到逗号“,”会输出空格,输出的内容是这样的:
全栈程序员站长
2022/09/07
1.9K0
python常用函数总结
python中常用的模块的总结
1、 模块和包 a.定义: 模块用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件。(例如:文件名:test.py,对应的模块名:test)
coders
2018/01/04
1.2K0
python中常用的模块的总结
python【第五篇】常用模块学习
a.定义:本质就是.py结尾的python文件,逻辑上组织python代码,实现某种功能。例:文件名test.py-->模块名test。
用户1432189
2019/09/12
1.1K0
python【第五篇】常用模块学习
python笔记52-re正则匹配search
re.search扫描整个字符串并返回第一个成功的匹配。re.findall返回字符串中所有不重叠匹配项的列表,如果没有匹配到返回空list不会报错。 search匹配对象有3个方法:group() groups() groupdict() ,这3个方法使用上会有一些差异。 如果只需匹配一个,匹配到就结束就用search,匹配全部就用findall
上海-悠悠
2021/01/18
1.4K0
常用模块
## 一、time与datetime模块 在Python中,通常有这几种方式来表示时间:
hankleo
2020/09/16
1.6K0
常用模块
Python爬虫之快速入门正则表达式
当完成了网页html的download之后,下一步当然是从网页中解析我们想要的数据了。那如何解析这些网页呢?Python中有许多种操作简单且高效的工具可以协助我们来解析html或者xml,学会这些工具抓取数据是很容易了。
Python数据科学
2018/08/06
5940
Python爬虫之快速入门正则表达式
正则表达式
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re 模块使 Python 语言拥有全部的正则表达式功能。
AngelNH
2020/04/16
4220
2017/6/8-python正则表达式的使用
#match()函数的使用 #\w匹配字母数字及下划线 # \s匹配任意空白字符,等价于 [\t\n\r\f]. # \d匹配任意数字,等价于 [0-9] # [...]用来表示一组字符,单独列出:[amk] 匹配 'a','m'或'k' # [^...]不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。 #^匹配字符串的开头 #{n}精确匹配n个前面表达式。 import re content='Hello 123 4567 World_This is a Regex Demo' prin
致Great
2018/04/11
8040
Python 正则表达式大全(上)
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
Python知识大全
2020/02/13
7500
包、time、datetime、hashlib和hmac、request、re
包,这里的包就相当于模块,当一个模块的功能特别强大时需要写在多个文件里,这就用到了包,包不改变模块的导入方式,在包里可以写多个文件,还可以包里再建包。
GH
2022/05/10
4320
包、time、datetime、hashlib和hmac、request、re
强烈推荐!Python 这个宝藏库 re 正则匹配
Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作。
Wu_Candy
2022/07/05
1.6K0
【从零学习python 】62. Python正则表达式:强大的字符串匹配工具
正则表达式是一个特殊的字符序列,计算机科学的一个概念。通常被用来检索、替换那些符合某个模式(规则)的文本。
全栈若城
2024/02/29
1260
一文搞懂 Python 正则表达式用法
作者:枫叶云 来源:见文末 Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。 re 模块使 Python 语言拥有全部的正则表达式功能。 compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。 re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。
小小科
2018/06/20
1.1K0
Python 正则表达式re模块的使用
1.match是从字符串的开头开始匹配,而search可以从字符串的任意位置开始匹配。
Python碎片公众号
2021/02/26
4180
Python 正则表达式re模块的使用
7.python常用模块
time模块 常用表示时间方式: 时间戳,格式化的时间字符串,元组(struct_time) UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Daylight Saving Time)即夏令时。 时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。 元组(struct_time)方式:struct_time元组共有9个元素,返回struct_time的函
zhang_derek
2018/04/11
1.5K0
7.python常用模块
Python之路【第八篇】:Python
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码会越来越长,越来越不容易维护。
py3study
2020/01/16
1.1K0
Python之路【第八篇】:Python
Python3中正则表达式使用方法
崔庆才,Python技术控,爬虫博文访问量已过百万。喜欢钻研,热爱生活,乐于分享。
生信宝典
2019/10/14
7140
常用正则表达式最强汇总(含Python代码举例讲解+爬虫实战)
Python的re模块(正则表达式)提供各种正则表达式的匹配操作。在绝大多数情况下能够有效地实现对复杂字符串的分析并取出相关信息。在讲解如何实际应用正则表达式之前,先教大家学习并掌握正则表达式的基本语法(匹配规则)。
Python研究者
2021/08/27
7.4K0
python re模块
正则表达式(可以称为REs,regex,regex pattens)是一个小巧的,高度专业化的编程语言,它内嵌于python开发语言中,可通过re模块使用。正则表达式的pattern可以被编译成一系列的字节码,然后用C编写的引擎执行。
py3study
2018/08/02
5850
Python中re模块基本用法解析
在正则表达式中用()括起来可以使用group()输出, 若有n个(), 那么可以表示为group(n), 输出第n个括号匹配的内容.
py3study
2020/01/03
4460
相关推荐
python常用函数总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验