Python模块

2017-08-16  本文已影响8人  投降又不会赢

使用环境:
**mac **
pycharm
python2.7
可以看到的内容如下:

fileinput模块 time 模块 random模块

fileinput

 files: #文件的路径列表,默认是stdin方式,多文件['1.text', '2.text', ...]
 inplace:   #是否将标准输出结果写回文件,默认不取代
 backup:    #备份文件的扩展名,只指定扩展名,如.bak。如果该文件的备份文件已存在,则会覆盖
 bufsize:   #缓冲区大小默认为0,如果文件很大可以修改此参数, 一般默认即可
 mode:  #读写模式,默认为只读
 openhook:  #该钩子用于控制打开的所有文件, 比如说编码方式等。

代码示例:

# _*_coding:utf8_*_

import fileinput

for line in fileinput.input(inplace=True):
    line = line.rstrip()
    num = fileinput.lineno()
    print '%-40s # %2i ' % (line, num)

代码讲解 :

inplace = True 将输出结果写回文件 (不建议)
line.rstrip() 清空字符串外部的空行 如' hello world ' 输出为'hello world'

lineno()函数返回当前累计的行数

%-40s 表示输出一个string值后空40个空格位

%2i 表示保留两位有效数字

time 模块

asctime函数 将当前时间格式化为字符串或者是将时间元组转化为字符串

代码示例:


#_*_coding:utf8_*_
import time

print time.asctime()
#输出结果为Sat Apr  8 11:03:12 2017

localtime([secs]) 将秒数转换为日期元组, 以本地时间为准

mktime(tuple) 将时间元组转换为本地时间
sleep(secs) 休眠(不做任何事情)secs秒
strptime(string[.format]) 将字符串解析为时间元组
time() 当前时间

random 模块

shelve

open

shelve.open 函数返回的对象并不是普通的映射

re

正则表达式
通配符

点号(.) 可以匹配任何字符,除了换行符(\n),所以.ython 可以匹配python +ython 或者是ython(第一个字符是空格)但是不能匹配ppython chpython 等等,也就是说点号可以匹配除换行符之外的任何单一字符

对特殊字符进行转义

假设要匹配字符串python.org 但是点号属于通配符,可以代替任何除换行符之外的单一字符,也就是说 他可以匹配pythonLorg,如果想匹配python.org怎么办呢?可以通过转义来达到目标 python\\.org

选择符和子模式

如果想匹配 pythonper 可以使用用于选项的特殊字符:| (术语为管道符号), 所以表达式可以写成 python|per
有的时候不需要对整个模式使用,可以使用圆括号括起需要的部分或者称为子模式 可以写成p(ython|er) 子模式也适用于单个字符

可选项和重复子模式

在子模式下加上?就可以变为可选项,例如(http://)?(www\.)?python\.org可以匹配以下几种字符串:
http://www.python.org
http://python.org
www.python.org
python.org
?号表示子模式可以出现一次或者一次都不出现,下面这些运算符允许子模式出现多次
(pattern)*: 允许模式重复0次或者多次
(pattern)+: 允许模式重复1次或者多次
(pattern){m,n}: 允许模式重复m~n次

字符串的开始和结尾

^ht+p会匹配http://python.org 或者httttp://python.org
类似的字符串结尾用$符号标识

上一篇下一篇

猜你喜欢

热点阅读