天天看點

Python tips

1、Python用print列印html文檔時,若不列印協定首部,可能無法輸出html文檔。

<code>print</code><code>(</code><code>'Content-type: text/html\r\n'</code><code>)</code>

2、Python2.7 搭建簡單http server,隻能解析靜态檔案。

<code>python2.</code><code>7</code>  <code>-m  SimpleHTTPServer </code><code>5678</code>

3、Python3 搭建簡單http server,隻能解析靜态檔案。

<code>python3 </code><code>-</code><code>m http.server </code><code>5678</code>

4、Python2.7 搭建能處理python腳本的http server。

<code>python2.</code><code>7</code> <code>-</code><code>m CGIHTTPServer </code><code>5678</code>

5、Python3 搭建能處理python腳本的http server。

<code>from</code> <code>http.server </code><code>import</code> <code>HTTPServer, CGIHTTPRequestHandler</code>

<code>port </code><code>=</code> <code>5678</code>

<code>httpd </code><code>=</code> <code>HTTPServer(('', port), CGIHTTPRequestHandler)</code>

<code>print</code><code>(</code><code>"Starting simple_httpd on port: "</code> <code>+</code> <code>str</code><code>(httpd.server_port))</code>

<code>httpd.serve_forever()</code>

6、Python的三種資料類型字典、清單、元組,分别用花括号、中括号、小括号表示。如:

<code>字典:dic</code><code>=</code><code>{</code><code>'a'</code><code>:</code><code>12</code><code>, </code><code>'b'</code><code>:</code><code>34</code><code>}</code>

<code>清單:li</code><code>=</code><code>[</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>3</code><code>]</code>

<code>集合:s </code><code>=</code> <code>{</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>4</code><code>}         </code><code>#set是無序的無重複元素的清單</code>

<code>元組:tup</code><code>=</code><code>(</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>4</code><code>)    </code><code>#元組是不可更改的清單</code>

8、Python列印不換行

(1)、通用方法

<code>import</code> <code>sys</code>

<code>sys.stdout.write(</code><code>"no new line"</code><code>)</code>

(2)、Python2 print 不換行(加逗号):print 'no new line',

(3)、Python3 print 不換行:print('no new line', end='')

9、Python 2.x 在使用help函數時,對内置函數一定要加引号

<code>help</code><code>(</code><code>print</code><code>)    </code><code>#wrong</code>

<code>help</code><code>(</code><code>'print'</code><code>)  </code><code>#right</code>

10、Python 子產品的一般安裝方法:

<code>python setup.py install</code>

13、Python列印異常資訊。

<code>try</code><code>:</code>

<code>  </code><code>#do someting</code>

<code>except</code><code>:</code>

<code>  </code><code>print</code> <code>sys.exc_info()[</code><code>0</code><code>],sys.exc_info()[</code><code>1</code><code>]  </code><code>#一般來說這樣就足夠了</code>

這樣更好:

<code>    </code><code>#do someting</code>

<code>    </code><code>import</code> <code>traceback</code>

<code>    </code><code>print</code><code>(traceback.format_exc())</code>

<code>    </code><code>traceback.print_exc()    </code><code>#約等于上句</code>

30、檢視python的搜尋路徑。

<code>&gt;&gt;&gt; </code><code>import</code> <code>sys</code>

<code>&gt;&gt;&gt; </code><code>print</code> <code>sys.path</code>

34、2015-5-7決定向Python3遷移。

36、安裝IPython

<code>pip </code><code>install</code> <code>ipython</code>

安裝IPython的Tab補全插件

<code>pip </code><code>install</code> <code>pyreadline</code>

37、Python自定義排序

39.1、本機python的相容性可以用這樣檢視:({python tag}-{abi tag}-{platform tag})

<code>&gt;&gt;&gt; </code><code>import</code> <code>pip</code>

<code>&gt;&gt;&gt; </code><code>from</code> <code>pprint </code><code>import</code> <code>pprint</code>

<code>&gt;&gt;&gt; pprint(pip.pep425tags.get_supported())</code>

<code>[(</code><code>'cp34'</code><code>, </code><code>'none'</code><code>, </code><code>'win_amd64'</code><code>),</code>

<code> </code><code>(</code><code>'py3'</code><code>, </code><code>'none'</code><code>, </code><code>'win_amd64'</code><code>),</code>

<code> </code><code>(</code><code>'cp34'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>),</code>

<code> </code><code>(</code><code>'cp3'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>),</code>

<code> </code><code>(</code><code>'cp33'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>),</code>

<code> </code><code>(</code><code>'cp32'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>),</code>

<code> </code><code>(</code><code>'cp31'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>),</code>

<code> </code><code>(</code><code>'cp30'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>),</code>

<code> </code><code>(</code><code>'py34'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>),</code>

<code> </code><code>(</code><code>'py3'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>),</code>

<code> </code><code>(</code><code>'py33'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>),</code>

<code> </code><code>(</code><code>'py32'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>),</code>

<code> </code><code>(</code><code>'py31'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>),</code>

<code> </code><code>(</code><code>'py30'</code><code>, </code><code>'none'</code><code>, </code><code>'any'</code><code>)]</code>

43、好玩的運算精度問題。

<code>&gt;&gt;&gt; </code><code>33</code><code>/</code><code>22</code>

<code>1.5</code>

<code>&gt;&gt;&gt; </code><code>3.3</code><code>/</code><code>2.2</code>

<code>1.4999999999999998</code>

<code>&gt;&gt;&gt; </code><code>33</code><code>/</code><code>15</code>

<code>2.2</code>

<code>&gt;&gt;&gt; </code><code>3.3</code><code>/</code><code>1.5</code>

<code>2.1999999999999997</code>

<code>&gt;&gt;&gt; </code><code>2</code><code>-</code><code>1.1</code>

<code>0.8999999999999999</code>

<code>import</code> <code>warnings</code>

<code>warnings.filterwarnings(</code><code>"ignore"</code><code>)</code>

<code>class</code> <code>Tee(</code><code>object</code><code>):</code>

<code>    </code><code>def</code> <code>__init__(</code><code>self</code><code>):</code>

<code>        </code><code>self</code><code>.terminal </code><code>=</code> <code>sys.stdout</code>

<code>        </code><code>self</code><code>.log </code><code>=</code> <code>open</code><code>(</code><code>"log.log"</code><code>, </code><code>"a"</code><code>)</code>

<code>        </code> 

<code>    </code><code>def</code> <code>__del__(</code><code>self</code><code>):</code>

<code>        </code><code>sys.stdout </code><code>=</code> <code>self</code><code>.terminal</code>

<code>        </code><code>self</code><code>.log.close()</code>

<code>    </code><code>def</code> <code>write(</code><code>self</code><code>, message):</code>

<code>        </code><code>self</code><code>.terminal.write(message)</code>

<code>        </code><code>self</code><code>.log.write(message)  </code>

<code>        </code><code>self</code><code>.log.flush()</code>

<code>sys.stdout </code><code>=</code> <code>Tee()</code>

<code>print</code><code>(</code><code>'HaHaHa'</code><code>)</code>

N、...

本文轉自walker snapshot部落格51CTO部落格,原文連結http://blog.51cto.com/walkerqt/1212937如需轉載請自行聯系原作者

RQSLT