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