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