Time of Update: 2016-06-16
複製代碼 代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-class TreeNode(object): def __init__(self,data=0,left=0,right=0): self.data = data self.left = left self.right = rightclass BTree(object): def __init__(self,root=0):
Time of Update: 2016-06-16
1 將下面代碼拷貝到一個檔案,命名為asyncore.py複製代碼 代碼如下:import socketimport selectimport sysdef ds_asyncore(addr,callback,timeout=5): s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(addr) r,w,e = select.select([s],[],[],timeout) if r:
Time of Update: 2016-06-16
:python雙向鏈表實現代碼:複製代碼 代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-class Node(object): def __init__(self,val,p=0): self.data = val self.next = p self.prev = pclass LinkList(object): def __init__(self): self.head = 0
Time of Update: 2016-06-16
1 拷貝下面的代碼到一個檔案,並命名為forkcore.py複製代碼 代碼如下:import osimport threadingimport selectimport socketclass ds_forkcore(object): #async IO(epoll) def ds_epoll(self): epoll=select.epoll()
Time of Update: 2016-06-16
複製代碼 代碼如下:# -*- coding: utf-8 -*- import httplibfrom urllib import urlencodeimport redef out(text): p = re.compile(r'","') m = p.split(text) print m[0][4:].decode('UTF-8').encode('GBK')if __name__=='__main__': while True: word=raw_
Time of Update: 2016-06-16
什麼是產生器?產生器是一個包含了特殊關鍵字yield的函數。當被調用的時候,產生器函數返回一個產生器。可以使用send,throw,close方法讓產生器和外界互動。產生器也是迭代器,但是它不僅僅是迭代器,擁有next方法並且行為和迭代器完全相同。所以產生器也可以用於python的迴圈中,產生器如何使用?首先看一個例子:複製代碼 代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-def flatten(nested): for sublist in
Time of Update: 2016-06-16
受控節點slave.py複製代碼 代碼如下:import socketimport reclass Log(object): file_list=['access.log','C:\\access.log'] master_ip='192.168.0.103' def __init__(self): s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.bind(('',3333))
Time of Update: 2016-06-16
什麼是python的裝飾器?網路上的定義:裝飾器就是一函數,用來封裝函數的函數,用來修飾原函數,將其重新賦值給原來的標識符,並永久的喪失原函數的引用。最能說明裝飾器的例子如下:複製代碼 代碼如下:#-*- coding: UTF-8 -*-import timedef foo(): print 'in foo()'# 定義一個計時器,傳入一個,並返回另一個附加了計時功能的方法def timeit(func): # 定義一個內嵌的封裝函數,給傳入的函數加上計時功能的封裝 def
Time of Update: 2016-06-16
時區的概念與轉換首先要知道時區之間的轉換關係,其實這很簡單:把當地時間減去當地時區,剩下的就是格林威治時間了。 例如北京時間的18:00就是18:00+08:00,相減以後就是10:00+00:00,因此就是格林威治時間的10:00。而把格林威治時間加上當地時區,就能得到當地時間了。 例如格林威治時間的10:00是10:00+00:00,轉換成太平洋標準時間就是加上-8小時,因此是02:00-08:00。而太平洋標準時間轉換成北京時間轉換也一樣,時區相減即可。 例如太平洋標準時間的02:00-0
Time of Update: 2016-06-16
Pylons 經過漫長的開發,終於放出了 1.0 版本。對於正規的產品開發來說,1.0 版本的意義很大,這表明 Pylons 的 API 終於穩定下來了。Pylons 雖是山寨 Rails 而生,但作為一個純 Python 的 Web 架構,它有一個鮮明的特點:可定製性強。架構每一層都沒重新發明輪子,而是盡量整合現有的 Python 庫。在 MVC 的 Model 層,Pylons 預設支援 SQLAlchemy。現在 NoSQL 很火 MongoDB 很熱。在 Pylons 中應用
Time of Update: 2016-06-16
python中的and和or和其它語言的區別很大其它語言中的and和or都是返回bool類型的結果,python不是。它返回的是做and和or運算的其中一個值。那個值決定了這個運算式的值,就返回那個值。複製代碼 代碼如下:>> 5 and ''這裡結果是'', Null 字元串, 因為是它導致了這個運算式為false.也就是所在and中,只有前面一個值是false的時候,才有可能成為結果。否則就是後面的值為結果。瞭解了and和or啟動並執行過程,那麼就可以實現?運算式了:複製代碼
Time of Update: 2016-06-16
1. 使用預設的session, 在ini檔案中:複製代碼 代碼如下:from pyramid.session import UnencryptedCookieSessionFactoryConfigmy_session_factory = UnencryptedCookieSessionFactoryConfig('itsaseekreet')from pyramid.config import Configuratorconfig =
Time of Update: 2016-06-16
我們通過下面的檔案結構,將models.py改成一個package.複製代碼 代碼如下:myapp __init__.py scripts __init__.py initialize_db.py models __init__.py meta.py foo.py moo.py上面的 meta.py, 在代碼中定義一個其它model檔案分享權限設定Base和DBSession.複製代碼
Time of Update: 2016-06-16
python可以返回多個值,確實挺方便函數裡的return只能返回一個值,但是傳回型別是沒是限制的因此,我們可以“返回一個 tuple類型,來間接達到返回多個值”。例子是我在robot framework source code 時的例子:複製代碼 代碼如下: def __init__(self, cells): self.cells, self.comments = self._parse(cells) def _parse(self, row):
Time of Update: 2016-06-16
可以使用Python的email模組來實現帶有附件的郵件的發送。SMTP (Simple Mail Transfer Protocol)郵件傳送代理 (Mail Transfer Agent,MTA) 程式使用SMTP協議來發送電郵到接收者的郵件伺服器。SMTP協議只能用來發送郵件,不能用來內送郵件。大多數的郵件發送伺服器 (Outgoing Mail Server)
Time of Update: 2016-06-16
複製代碼 代碼如下:# -*- coding: utf-8 -*- #mysqldb import time, MySQLdb #串連 conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="test",charset="utf8") cursor = conn.cursor() #寫入 sql = "insert into user(name,created) values(%s,%
Time of Update: 2016-06-16
[Error 2] The system cannot find the file specified解決方案:1.環境變數path添加:C:\Python32\Tools\Scripts;D:\Python32;D:\Program Files\Sublime Text2;2.Python.sublime-build內容修改原內容:複製代碼 代碼如下:{ "cmd": ["python", "-u", "$file"], "file_regex": "^[ ]*File \"(
Time of Update: 2016-06-16
Proxy 的設定urllib2 預設會使用環境變數 http_proxy 來設定 HTTP Proxy。如果想在程式中明確控制 Proxy 而不受環境變數的影響,可以使用下面的方式複製代碼 代碼如下:import urllib2enable_proxy = Trueproxy_handler = urllib2.ProxyHandler({"http" : 'http://some-proxy.com:8080'})null_proxy_handler =
Time of Update: 2016-06-16
執行時間方法1複製代碼 代碼如下:import datetimestarttime = datetime.datetime.now()#long runningendtime = datetime.datetime.now()print (endtime - starttime).seconds方法 2複製代碼 代碼如下:start = time.time()run_fun()end = time.time()print end-start方法3複製代碼 代碼如下:start =
Time of Update: 2016-06-16
安裝相應的庫,我使用的是PyV8需要注意的是裡面寫的function函數需要用()括起來複製代碼 代碼如下:import PyV8class Test(): def js(self): ctxt = PyV8.JSContext() ctxt.enter() func = ctxt.eval('''(function(){return '###'})''') print func()