python个人笔记,纯属方便查询
中间退出的时候要保存,然后再次进入的时候还是退出的那个点。
字典-----字符串(硬盘)------字典
pickle语法dump:把字典写入硬盘文件中:
import pickle
account_info = {
'a':'bbbbbbbbb',
'b':'ccccccccc'
}
f=file('account.pki','wb') #定义一个二进制文件,只有字符串才能写入硬盘,
#所以字典要先转换为字符串。
pickle.dump(account_info,f)
f.close()
从硬盘中读取文件变成字典:
import pickle
pki_file=open('account.pki','rb') #以读的方式打开一个文件。
account_list=pickle.load(pki_file) #把文件序列化,以原来的格式读取
pki_file.close()
如果不写到文件,而是通过socket发送消息:
a= {
'a':'bbbbbbbbb',
'b':'ccccccccc'
}
b=pickle.dumps(a)
c=pickle.loads(b)
pickle正则表达式:
import re
p=re.compile('hello') #匹配hello
str_a= 'hello,my nam is darren'
p.match(str_a)
m=p.match(str_a)
m.group() #看返回值,如果是none则没有匹配
-----------------
p=re.compile('my')
p.serach(str_a) #匹配整行
if m is not none:print "mactched"
----------------
m=re.search('my',str_a)
m.group()
re.search('my',str_a).group() #一行搞定
模糊查询:
print re.findall('\s+', str_a) #\s+匹配空格的
print re.findall('\S+', str_a) #\S+匹配去掉空格的
print re.findall('\d+', str_a) #\d+匹配数字的
print re.findall('\D+', str_a) #\D+匹配去掉数字的
print re.split('\d+', str_a) #匹配到的做为分隔符
print re.split('b', str_a) #以b做为分隔符。
print re.split('\\\\', str_a) #前面两个为转义,后面两个以\\为分隔符
print re.split(re.escape('\\'), str_a) #和上面一样
re.sub('\d+','|',a) #把a中的空格替换为|。
re.sub('\d+','|',a,1) #把a中的空格替换为|,只匹配一个
. #匹配任意一个字符
.+ #匹配任意一个或多个字符
-----------------------------python模块--------------------------------
如果导入一个目录:例如day3,这时就需要在day3目录下建一个空文件。
cd day3
touch __init__.py
导入一个交互的配置文件,需要先把交换的脚本改成一个函数:
def sayhi ():
if dayhi ==main()
----------------------------------------python------------------------------------------
装饰器:
查看sayhi()执行花费的时间:
import time
def sayhi():
start=time.time()
print 'hi,your sister.....'
time.sleep(0.5)
end=time.time()
print 'this function costs :',end - start
sayhi()
如果计算一百个函数花费的时间:
import time
def time_counter(func):
def wrapper():
start=time.time()
func()
end=time.time()
print 'this function costs :',end - start
return wrapper
@time_counter
def sayhi():
print 'hi,your sister.....'
@time_counter
def salary():
print 'your salary:'
sayhi()
salary()
转载于:https://blog.51cto.com/xiaodongge/1877785