Time of Update: 2016-06-10
1.瞭解Regex Regex是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個“規則字串”,這個“規則字串”用來表達對字串的一種過濾邏輯。Regex是用來匹配字串非常強大的工具,在其他程式設計語言中同樣有Regex的概念,Python同樣不例外,利用了Regex,我們想要從返回的頁面內容提取出我們想要的內容就易如反掌了。 Regex的大致匹配過程是: 1.依次拿出運算式和文本中的字元比較, 2.如果每一個字元都能匹配,則匹配成功;
Time of Update: 2016-06-10
本文執行個體講述了python實現指定字串補全空格的方法。分享給大家供大家參考。具體分析如下:如果希望字串的長度固定,給定的字串又不夠長度,我們可以通過rjust,ljust和center三個方法來給字串補全空格rjust,向右對其,在左邊補空格s = "123".rjust(5)assert s == " 123"ljust,向左對其,在右邊補空格s = "123".ljust(5)assert s == "123 "center,讓字串置中,在左右補空格s = "123".center(5)
Time of Update: 2016-06-10
本文執行個體講述了python排序方法。分享給大家供大家參考。具體如下:>>> def my_key1(x):... return x % 10...>>> alist = [4, 5, 8, 1, 63, 8]>>> alist[4, 5, 8, 1, 63, 8]>>> alist.sort() # 預設升序排序>>> alist[1, 4, 5, 8, 8, 63]>>> alist.sort(reverse = True) # 改為降序排序>>> alist[63, 8, 8, 5,
Time of Update: 2016-06-10
1、GET方式: # -*- coding: utf-8 -*-#!/usr/bin/python# filename: GETPOST_test.py# codedtime: 2014-9-20 19:07:04import bottledef check_login(username, password): if username == '123' and password == '234': return True else: return
Time of Update: 2016-06-10
本文執行個體講述了python實現TCP伺服器端與用戶端的方法。分享給大家供大家參考。具體如下:TCP伺服器程式(tsTserv.py):from socket import *from time import ctimeHOST = ''PORT = 21567BUFSIZ = 1024ADDR = (HOST, PORT)tcpSerSock = socket(AF_INET,
Time of Update: 2016-06-10
本文執行個體講述了python中pass語句用法。分享給大家供大家參考。具體分析如下:1、空語句 do nothing2、保證格式完整3、保證語義完整4、以if語句為例:C/C++中寫法:if(true); // do nothingelse{} // do nothingpython中寫法:if true:pass # do nothingelse:print "do something."測試程式:定義一個空函數>>> def nullfunc():... pass...>>>
Time of Update: 2016-06-10
由於工作需要在一大堆日誌裡面提取相應的一些固定字元,如果單純靠手工取提取,資料量大,勞心勞力,於是自然而然想到了用Python做一個對應的提取工具,代替手工提取的繁雜,涉及中文字元,Regex不好匹配,但不是不可以實現,這個以後最佳化時再說。需求描述:一個父目錄中存在多個子檔案夾,子檔案夾下有多個txt形式化的Log日誌,要求從所有地方Log日誌中找出CardType=9,
Time of Update: 2016-06-10
代碼如下:# -*- coding: utf-8 -*-#!/usr/bin/python# filename: todo.py# codedtime: 2014-8-28 20:50:44import sqlite3import bottle @bottle.route('/help3')def help(): return bottle.static_file('help.html', root='.')
Time of Update: 2016-06-10
所用拓展模組 xlrd: Python語言中,讀取Excel的擴充工具。可以實現指定表單、指定儲存格的讀取。 使用前須安裝。 下載地址:https://pypi.python.org/pypi/xlrd 解壓後cd到解壓目錄,執行 python setup.py install 即可 datetime: Python內建用於操作日期時間的模組擬實現功能模組 讀xls檔案並錄入資料庫 根據年、月、日三個參數擷取當天的值班情況
Time of Update: 2016-06-10
寫下這篇部落格,起源於Tornado郵件群組的這個問題how to use outer variable in inner method,這裡面老外的回答很有參考價值,關鍵點基本都說到了。我在這裡用一些有趣的例子來做些解析,簡要的闡述下Python的閉包規則,首先看一個經典的例子:def foo(): a = 1 def bar(): a = a + 1 # print a + 1 # b = a + 1 # a = 1 print id(a) bar() print a,
Time of Update: 2016-06-10
__init__()方法意義重大的原因有兩個。第一個原因是在對象生命週期中初始化是最重要的一步;每個對象必須正確初始化後才能正常工作。第二個原因是__init__()參數值可以有多種形式。因為有很多種方式為__init__()提供參數值,對於對象建立有大量的用例,我們可以看看其中的幾個。我們想儘可能的弄清楚,因此我們需要定義一個初始化來正確的描述問題地區。在我們接觸__init__()方法之前,無論如何,我們都需要粗略、簡單地看看在Python中隱含的object類的階層。在這一章,我們看看不同
Time of Update: 2016-06-10
其實Tornado對子網域名稱和泛網域名稱(除了特別說明外,以下子網域名稱和泛網域名稱均簡稱為泛網域名稱)的支援並不是什麼新鮮事,兩年多前我用Tornado寫的開源網站 http://poweredsites.org
Time of Update: 2016-06-10
在Django裡,流式響應StreamingHttpResponse是個好東西,可以快速、節省記憶體地產生一個大型檔案。目前項目裡用於流式響應的一個是Eventsource,用於改善跨系統通訊時使用者產生的慢速的感覺。這個不細說了。還有一個就是產生一個大的csv檔案。當Django進程處於gunicorn或者uwsgi等web容器中時,如果響應超過一定時間沒有返回,就會被web容器終止掉,雖然我們可以通過加長web容器的逾時時間來繞過這個問題,但是畢竟還是治標不治本。要根本上解決這個問題,Pyt
Time of Update: 2016-06-10
最近在學習Flask,本文介紹一下如何部署Flask開發的應用,同時也學習一下Nginx的使用,這隻是在Mac上的一個實驗。應用這裡使用的應用就是官方的文檔中給出的Flaskr。安裝Nginx使用HomeBrew安裝Nginx:$ brew install nginxHomeBrew會自動安裝Nginx及其依賴的程式。在我的電腦上安裝的是Nginx 1.6.2,設定檔的路徑是/usr/local/etc/nginx/nginx.conf。啟動Nginx的命令:$
Time of Update: 2016-06-10
下面介紹以threading模組來實現定時器的方法。首先介紹一個最簡單實現:import threadingdef say_sth(str): print str t = threading.Timer(2.0, say_sth,[str]) t.start()if __name__ == '__main__': timer = threading.Timer(2.0,say_sth,['i am here too.'])
Time of Update: 2016-06-10
1.基本的讀取設定檔 -read(filename) 直接讀取ini檔案內容 -sections() 得到所有的section,並以列表的形式返回 -options(section) 得到該section的所有option -items(section) 得到該section的所有索引值對 -get(section,option) 得到section中option的值,返回為string類型 -getint(section,option)
Time of Update: 2016-06-10
在python2.x中,從object繼承得來的類稱為新式類(如class A(object))不從object繼承得來的類稱為經典類(如class A())新式類跟經典類的差別主要是以下幾點: 1. 新式類對象可以直接通過__class__屬性擷取自身類型:type 2. 繼承搜尋的順序發生了改變,經典類多繼承時屬性搜尋順序: 先深入繼承樹左側,再返回,開始找右側(即深度優先搜尋);新式類多繼承屬性搜尋順序: 先水平搜尋,然後再向上移動例子:經典類: 搜尋順序是(D,B,A,C)>>>
Time of Update: 2016-06-10
本文主要分析的是web.py庫的application.py這個模組中的代碼。總的來說,這個模組主要實現了WSGI相容的介面,以便應用程式能夠被WSGI應用伺服器調用。WSGI是Web Server Gateway Interface的縮寫,具體細節可以查看WSGI的WIKI頁面介面的使用使用web.py內建的HTTP Server下面這個例子來自官方文檔的Hello World,這個代碼一般是應用入口的代碼:import weburls = ("/.*", "hello")app = web.
Time of Update: 2016-06-10
下面利用一個python的執行個體程式,來學習python。這個程式的目的就是分析出所有MP3檔案的Tag資訊並輸出。import os # 匯入os模組,提供檔案路徑,列出檔案等方法import sys # 匯入sys模組,使用sys.modules擷取模組中的所有內容,類似反射的功能from UserDict import UserDict # 這個表示從UserDict類中匯入UserDict,類似於Java中的 import UserDict.UserDict def
Time of Update: 2016-06-10
通用視圖1. 前言回想一下,在Django中view層起到的作用是相當於controller的角色,在view中實施的動作,一般是取得請求參數,再從model中得到資料,再通過資料建立模板,返回相應響應對象。但在一些比較通用的功能中,比如顯示對象列表,顯示某對象資訊,如果反覆寫這麼多流程的代碼,也是一件浪費時間的事,在這裡,Django同樣給我們提供了類似的"shortcut"捷徑--通用視圖。2.