sys,os,模块-正则表达式
# *__conding:utf-8__*
""""
我是注释
"""
sys,os模块
import sys
import os
print(__file__) 当前文件的路径
print(os.path.abspath(__file__)) 当前文件的绝对路径
print(sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) 当前文件的上上级目录
import han
from lib import abc
print(vars(han)) 查看模块提供了哪些变量
print(__doc__) 查看文件开头的注释
print(abc.__package__) 查看模块在那个文件夹下面
只有执行当前文件时候,当前文件的他叔变量 __name__ == '__main__'
__name__ == __main__
模块
logining
time/datetime
json/pickile
requests
补充的模块中特殊变量
__doc__
__pakage__
__acahed__
__name__
__file__
程序滚动条
import time
def view_bar (num,total):
rate = num / total 相除
rate_num = int(rate * 100) 相乘
r = '\r%d%%' %(rate_num)
sys.stdout.write(r) 去掉换行
sys.stdout.flush() 在原地去除
if __name__ == '__main__':
for i in range(0,101): 循环0-101
time.sleep(0.1) 暂停0.1秒
view_bar(i,100) 传给函数
程序滚动条2
def view_bar (num,total):
rate = num / total
rate_num = int(rate * 100)
r = '\r%s>%d%%' %('-'*num,rate_num)
sys.stdout.write(r)
sys.stdout.flush()
if __name__ == '__main__':
for i in range(0,101):
time.sleep(0.1)
view_bar(i,100)
sys模块
sys.argv 获取本地路径
sys.exit() 退出程序 正常退出exit(0)
sys.version 获取python解释程序的版本信息
sys.maxint 最大int值
sys.path 返回模块的搜索路径,初始化使用pythin环境变量的值
sys.platfrom 返回操作系统平台名称
os模块
os.path.abspath(path) 返回绝对路径
os.path.split(path) 将path分割成目录和文件名二元组返回
os.path.dirname(path) 返回上一级目录
os.path.join(path1[,path2[,...]]) 将多个路径组合返回,第一个绝对路径之前的参数忽略
加密
import hashlib
obj = hashlib.md5(bytes('hghghghjjhjhjhjjj',encoding='utf-8'))
obj.update(bytes('123',encoding='utf-8'))
result = obj.hexdigest()
print(result)
正则表达式
fandall
import re
a=re.findall('alex','alexdfgdfgdfgdfgdfgdfg')
b=re.findall('al.*x','alexdfgdfgdfgdfgdfgdfg')
c=re.findall('al.+x','alexdfgdfgdfgdfgdfgdfg')
d=re.findall('al.?x','alexdfgdfgdfgdfgdfgdfg')
e=re.findall('al.{1,5}x','alexdfgdfgdfgdfgdfgdfg')
f=re.findall('al.[bc]x','albcxdfgdfgdfgdfgdfgdfg')
g=re.findall('al.[a-z]x','albcxdfgdfgdfgdfgdfgdfg')
h=re.findall('a[a-z]+d','agbd')
i=re.findall('a[a*]d','a*d')
j=re.findall('a[^f]d','a*d')
k=re.findall('a[\d]d','a2d')
? 零个或多个
+ 1个或多个
{1,5} 1个或5个
[a-z] a到z的字母
\d 匹配任何十进制数:等于[0-9]
\D 匹配任何非数字:等于[^0-9]
\s 匹配任何空白字符:等于[\t\n\r\f\v]
\S 匹配任何非空白字符:等于[^\t\n\r\f\v]
\w 匹配任何字母数字:等于 [z-aA-Z0-9]
\W 匹配任何非字母数字:等于 [^z-aA-Z0-9]
\b 匹配单词和空格间的位置
aa=re.findall(r'I\b','I an hanIsome')
特殊意义在[]中不生效如下
i=re.findall('a[a*]d','a*d')
match
注意:match只匹配第一个
bb=re.match('com','comwwww.runcomoob') 匹配com
print(bb)
print(bb.span())
search
注意:匹配所有
cc=re.match('com','comwwww.runcomoob') 匹配com
print(cc)
print(cc.span())
匹配特殊 需要加r 2个\\代表一个\
ww=re.search(r'\\','www.run\comoob')
sub 替换
dd=re.sub('com','COM','comwwww.runcomoob')
print(dd)
subn替换
注意:显示替换了几个
ee=re.subn('com','COM','comwwww.runcomoob')
print(ee)
compile 查找
查找oo
test= "asdasdasdasdooasdasdasd"
regex = re.compile(r'\w*oo\w*')
print(regex.findall(test))
正则表达式分组
import re
origin = "hasaabc dfoujqwi halaabc m098u29841"
r = re.match('h\w+',origin)
分组
ff = re.match('h(\w)+',origin)
分组别名
ff = re.match('h(?P<name>\w)+',origin)
print(ff.group()) 获取匹配的所有结果
print(ff.groups()) 获取匹配的分组结果
print(ff.groupdict()) 获取匹配的分组别名
分组2
fff = re.findall ('h(\w+)a(ab)c',origin)
split 分割
从第一个开始分割
origin1='hello alex bcd alex lge alex acd 19'
r1 = re.split('a(le)x',origin1, 1)
print(r1)
sys,os,模块-正则表达式的更多相关文章
- day2_python的数据类型,sys,os模块,编码解码,列表,字典
今天主要了解了python的数据类型,sys,os模块,编码解码,列表,字典 1.数据类型:int(python3没有长整型)文本总是Unicode,str表示二进制用byte类表示布尔型:True( ...
- time random sys os 模块
时间模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日 ...
- python 常用模块(一): random , time , sys , os模块部分知识.
1.常用模块:(1)collectiaons模块 (2)与时间相关 time模块 (3)random模块 (4)os模块 (5)sys模块 (6) 序列化模块: json , pickle 2 ...
- time,sys,os 模块
import time# 时间戳时间,格林威治时间,float数据类型 给机器用的 # 英国伦敦的时间 1970.1.1 0:0:0 # 北京时间 1970.1.1 8:0:0 # 153369312 ...
- time | sys | os 模块,递归删除文件,项目分析
一,复习 ''' 1.跨文件夹导包 - 不用考虑包的情况下直接导入文件夹(包)下的具体模块 2.__name__: py自执行 '__main__' | py被导入执行 '模块名' 3.包:一系列模块 ...
- time,sys,os模块
1.time模块 a:结构化时间:struct_time:通过time.localtime获取到一个时间对象,通过这个对象得到对象属性 ****localtime()如果没有参数,默认返回是一个时 ...
- day18 python模块 random time sys os模块
day18 python 一.random模块 取随机整数 import random print(random.randint(1,2)) #顾头顾尾 p ...
- python学习Day27--time模块、sys模块、os模块和序列化模块
[知识点] 1.时间模块: (1)时间戳时间,格林威治时间,float数据类型 英国伦敦的时间:1970.1.1 0:0:0 北京时间:1970.1.1 8:0:0 (2)结构化时间, ...
- 正则表达式 re sys os random time 模块
今天学习内容如下: 1.正则表达式 百度正则表达式在线测试,可以练习 正则表达式本身也和python没有什么关系,就是匹配字符串内容的一种规则.官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用 ...
随机推荐
- python 2.43 升级到2.7
[root@GW1 bin]# lsb_release -aLSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3. ...
- How to inspect who is caller of func and who is the class of instance
1. Who is the class of self instance ? class aa(object): def a(self): if self.__class__.__name__ == ...
- js中的 || && !!
a && b : 将a, b转换为Boolean类型, 再执行逻辑与, true返回b, false返回aa || b : 将a, b转换为Boolean类型, 再执行逻辑或, tru ...
- UIKit的外观属性及方法汇总
本文授权转载,作者:楚天舒(简书) 开发中经常会碰到要设置UI的某个生僻的外观属性,虽然在头文件中都能查到,但一是每个控件的头文件比较分散繁杂,二是每个头文件里有太多不用到的方法和属性,所以这里将UI ...
- p6 备忘录
1.报表执行过程:PROC_PM_RP_Implent,PROC_PM_RP_Implent 2.新增用户无法获取p6 计划,主要是因为没有项目信息.分类码授权(计划分类).
- Swift 2.x -> Swift 3.0
Swift 3.0 相对于 2.x 有很大变化.特别是因为命名习惯的改变,导致许多 Api 都发生了变化.总的趋势是让表示更简洁. 对旧的代码升级,大部分可以根据提示来进行更正.但也有的需要手动修改. ...
- Xcode 运行cocos2dx弹出内部错误对话框(Internal Error)
cocos2dx未捕获的异常升高.选择"继续"继续运行在一个不一致的状态.选择"崩溃"停止应用和崩溃报告一个错误文件. 莫名其妙,代码没有报错,运行时却弹出(内 ...
- C#大文件读取和查询--内存映射
笔者最近需要快速查询日志文件,文件大小在4G以上. 需求如下: 1.读取4G左右大小的文件中的指定行,程序运行占用内存不超过500M. 2.希望查询1G以内容,能控制在20s左右. 刚开始觉得这个应该 ...
- CallBack实践。
第一:它的应用场景是什么? if you call me ,i will call back.目前我接触到两种需要回调的需求 1.系统管理平台登录,登录所需要的人员和部门数据都是在另一个基础信息系统中 ...
- Production环境中iptables常用参数配置
production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...