# *__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,模块-正则表达式的更多相关文章

  1. day2_python的数据类型,sys,os模块,编码解码,列表,字典

    今天主要了解了python的数据类型,sys,os模块,编码解码,列表,字典 1.数据类型:int(python3没有长整型)文本总是Unicode,str表示二进制用byte类表示布尔型:True( ...

  2. time random sys os 模块

    时间模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日 ...

  3. python 常用模块(一): random , time , sys , os模块部分知识.

    1.常用模块:(1)collectiaons模块 (2)与时间相关  time模块 (3)random模块 (4)os模块 (5)sys模块 (6) 序列化模块: json  ,   pickle 2 ...

  4. time,sys,os 模块

    import time# 时间戳时间,格林威治时间,float数据类型 给机器用的 # 英国伦敦的时间 1970.1.1 0:0:0 # 北京时间 1970.1.1 8:0:0 # 153369312 ...

  5. time | sys | os 模块,递归删除文件,项目分析

    一,复习 ''' 1.跨文件夹导包 - 不用考虑包的情况下直接导入文件夹(包)下的具体模块 2.__name__: py自执行 '__main__' | py被导入执行 '模块名' 3.包:一系列模块 ...

  6. time,sys,os模块

      1.time模块 a:结构化时间:struct_time:通过time.localtime获取到一个时间对象,通过这个对象得到对象属性 ****localtime()如果没有参数,默认返回是一个时 ...

  7. day18 python模块 random time sys os模块

    day18 python   一.random模块     取随机整数 import random print(random.randint(1,2))                 #顾头顾尾 p ...

  8. python学习Day27--time模块、sys模块、os模块和序列化模块

    [知识点] 1.时间模块: (1)时间戳时间,格林威治时间,float数据类型 英国伦敦的时间:1970.1.1     0:0:0 北京时间:1970.1.1     8:0:0 (2)结构化时间, ...

  9. 正则表达式 re sys os random time 模块

    今天学习内容如下: 1.正则表达式 百度正则表达式在线测试,可以练习 正则表达式本身也和python没有什么关系,就是匹配字符串内容的一种规则.官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用 ...

随机推荐

  1. Grandle全局变量定义及引用

    在Project的build.gradle脚本中定义一些全局变量 ext { compileSdkVersion = 21 buildToolsVersion = "24.0.1" ...

  2. iOS Device Specifications Grid

  3. 「iOS造轮子」之UIButton 用Block响应事件

    俗语说 一个不懒的程序员不是好程序员 造轮子,也只是为了以后更好的coding. coding,简易明了的代码更是所有程序员都希望看到的 无论是看自己的代码,还是接手别人的代码 都希望一看都知道这代码 ...

  4. sprint3总结

    经过了半个学期以来的sprint冲刺,并且充分学习了android开发后对项目有了更加充分的认识理解,开发速度自然而然就上来了,没有了上一个学期的懵懂,虽然开发起来还是比较困难,但是胜在有同组组员帮忙 ...

  5. Google Supersonic列存储查询库的介绍、安装、测试

    查询引擎库介绍: http://www.infoq.com/cn/news/2012/10/Google-Supersonic/ Supersonic是一个面向列存储数据库的查询引擎库,它提供了一组数 ...

  6. CentOS下 pycharm开发环境搭建

    经过一系统列的折腾之后,我终于有高版本的python和我熟悉的输入法用了,下面来搭建pycharm下的python开发环境. 1.首先安装java jdk注意是JAVA 的JDK,不是JAVA VM什 ...

  7. Exec in Job and NewQuery

    1.背景 Job:一个步骤执行两个存储过程ProcA.ProcB.ProcA定义一个游标,从表TabA中检索数据,逐条插入到表TabB.如果某条数据不满足TabB上的约束(比如非空)导致插入失败.那么 ...

  8. Magento后台简单更换favicon.ico

    刚才需要更换网站的favicon.ico,就是浏览器url前面的那个小图标. 网上稍微搜搜一下,然后就震惊了,号多方法是替换文件的方法,而且文件散步在网站的各个角落. 其实,后台是有直接上传更换的方法 ...

  9. javascript客户端与服务器端通信

    高性能的网络通信包括以下方面:选择正确的数据格式和与之匹配的传输技术. 一.数据格式 用于传输的数据格式有: 1)html,仅适用于特定场合,传输数据量大,不过它可以节省客户端的CPU周期, 2)XM ...

  10. UIBUTTON titlelabel.text 不显示

    button.titlelabel.text=@"查询";设置后运行发现没事正确显示. 查找后原来UIButton分状态的,textLabel不管用 [button setTitl ...