Time of Update: 2017-02-27
聲明和調用函數:聲明函數的方法是用def關鍵字,函數名及小括弧裡面的參數列表。def foo(x): print x調用函數:給出函數名和一小對括弧,並放入所需參數:#!/usr/bin/env pythonimport httplibdef check_web_server(host,port,path): h=httplib.HTTPConnection(host,port) h.request('GET',path)
Time of Update: 2017-02-27
使用gg後,需要監控,自己寫個自動發送郵件,這隻是個原型!根據從資料庫返回的資料結果是1還是2來判斷同步情況,並及時發送郵件並簡訊通知以及記錄日誌!# -*- coding: gb2312 -*-import re import pyodbcimport tracebackimport decimalimport os, sysimport timeimport smtplibfrom email.mime.text import MIMETextfrom
Time of Update: 2017-02-27
單元素的元組:(1)並不是元組,實際上是在多處重載了小括弧,比如在運算式裡,小括弧的作用是分組,(1,)這個才是單元素的元組。模組:import module 是將模組的名字設定為一個隱含的名字空間變數。from module import method 匯入到當前的全部命名空間裡。對於第二種方法並不是只有一個函數被匯入,,其實整個模組也已經被匯入。但只是那個函數的引用被儲存了起來,所以 from...import
Time of Update: 2017-02-27
DESCRIPTION This module provides socket operations and some related functions. On Unix, it supports IP (Internet Protocol) and Unix domain sockets. On other systems, it only supports IP. Functions specific for a socket are available as
Time of Update: 2017-02-27
def regist(request): c ={} c.update(csrf(request)) if request.method=="POST": username =request.POST['username'] email = request.POST['email'] password = request.POST['password'] password1 =
Time of Update: 2017-02-27
裝飾器(decorator)是一種進階Python文法。裝飾器可以對一個函數、方法或者類進行加工。在Python中,我們有多種方法對函數和類進行加工,比如在Python閉包中,我們見到函數對象作為某一個函數的返回結果。相對於其它方式,裝飾器文法簡單,代碼可讀性高。因此,裝飾器在Python項目中有廣泛的應用。裝飾器最早在Python 2.5中出現,它最初被用於加工函數和方法這樣的可調用對象(callable object,這樣的對象定義有__call__方法)。在Python
Time of Update: 2017-02-27
閉包(closure)是函數式編程的重要的文法結構。函數式編程是一種編程範式 (而面向過程編程和物件導向編程也都是編程範式)。在面向過程編程中,我們見到過函數(function);在物件導向編程中,我們見過對象(object)。函數和對象的根本目的是以某種邏輯方式組織代碼,並提高代碼的可重複使用性(reusability)。閉包也是一種組織代碼的結構,它同樣提高了代碼的可重複使用性。不同的語言實現閉包的方式不同。Python以函數對象為基礎,為閉包這一文法結構提供支援的
Time of Update: 2017-02-27
在迴圈對象和函數對象中,我們瞭解了迴圈器(iterator)的功能。迴圈器是對象的容器,包含有多個對象。通過調用迴圈器的next()方法 (__next__()方法,在Python 3.x中),迴圈器將依次返回一個對象。直到所有的對象遍曆窮盡,迴圈器將舉出StopIteration錯誤。在for i in iterator結構中,迴圈器每次返回的對象將賦予給i,直到迴圈結束。使用iter()內建函數,我們可以將諸如表、字典等容器變為迴圈器。比如for i in iter([2, 4, 5, 6]
Time of Update: 2017-02-27
引言我們在使用類 Unix 系統時,經常會用到一些以“.bin”或者“.run”結尾的安裝程式 (Installer)。(為描述方便,這裡我們使用“Bin 安裝程式”來泛指這種安裝程式。)Bin 安裝程式不依賴於系統發行版自己的包 (package) 管理器來實現應用程式的安裝和卸載,而是完全自己控制安裝的整個過程,程式卸載的時候需要使用者執行應用程式安裝目錄下的卸載指令碼來完成。Bin
Time of Update: 2017-02-27
繼Python將資料庫資料匯入到EXCEL文章之後,這次來一個推進版,將其編寫為函數,接著是class。哈哈。。問過群裡的朋友,他們大多採用工具將資料匯入到excel,本人以前是用select ... into outfile 匯出為csv格式,但是這樣的資料是沒有欄位標題的,每次手動添加。後來用過sqlyog 這個工具也沒有欄位標題。後來改用Navicat,覺得以後可以過安穩日子啦,有一次新項目上線,運營要“全部”資料(真不知道他們怎麼想的),用navicat
Time of Update: 2017-02-27
每次給運營導資料的時候,如果不用工具的話,就是直接產生.csv格式的檔案,這樣的檔案不支援'sheet',每次還有手工進行,相當的不科學,今天試試Python產生excel檔案。寫的糙了點,但是這是一個很好的開始!改進版本:資料庫內容到EXCEL #!/usr/bin/env python import xlwt import MySQLdb wbk=xlwt.Workbook()
Time of Update: 2017-02-27
如題,我用python 解析檔案(檔案中含有中文),並寫入其他檔案時報錯:UnicodeEncodeError: 'ascii' codec can't encode characters經過google大神的指導,確定以下解決方式:#coding:utf-8import sys reload(sys) sys.setdefaultencoding('utf-8')疑問:為什麼需要reload呢?grep -r -i 'setdefaultencoding'
Time of Update: 2017-02-27
對今天下午Python問題,簡單總結下。對自己寫的幾個for嵌套迴圈,添加if和else後總是沒有結果。歸結原因在於,在Python中,for 語句後面對於else也是支援的。當if else.他們都出現的時候,情況是什麼樣子的呢?舉個小例子: for a in range(4):for b in range(4):if b >=2:print 'b=>',belse:print 'a+b=>',a+bif a<=2:print
Time of Update: 2017-02-27
您可能聽說過,帶有 yield 的函數在 Python 中被稱之為 generator(產生器),何謂 generator ?我們先拋 開 generator,以一個常見的編程題目來展示 yield 的概念。如何產生斐波那契數列斐波那契(Fibonacci )數列是一個非常簡單的遞迴數列,除第一個和第二個數外,任意一個數都可由前兩個數相加得到。用電腦程式輸出斐波 那契數列的前 N 個數是一個非常簡單的問題,許多初學者都可以輕易寫出如下函數:清單 1. 簡單輸出斐波那契數 列前 N 個數def
Time of Update: 2017-02-27
挑戰:使用機器學習對 RSS 提要進行分類最近,我接到一項任務,要求為客戶建立一個 RSS 提要分類子系統。 目標是讀取幾十個甚至幾百個 RSS 提要,將它們的許多文章自動分類到幾十個預定義的主題領域當中。客戶網站的內容、 導航和搜尋功能都將由這個每日自動提要檢索和分類結果驅動。客戶建議使用機器學習,或許還會使用 Apache Mahout 和 Hadoop 來實現該任務,因為客戶最近閱讀了有關這些技術的文章。但是,客戶的Team Dev和我們的Team Dev都 更熟悉 Ruby,而不是
Time of Update: 2017-02-27
簡介許多完善的軟體項目已經使用普通文本配置和資源檔很多年了,但沒有出現什麼重大問題。隨著項目的擴 展和複雜性的增加,對更高嚴謹性和更強適應性的需求也隨之增加。通過 XML 以及使用具體標準的 XML 應用程式,您可以 得到以下獲益:跨項目和跨平台相容性、穩健性,以及在 Unicode 等領域的可擴充性。常用縮減詞HTK:隱 馬爾可夫模型工具包 (Hidden Markov Model Toolkit)PLS:發音詞彙規範 (Pronunciation Lexicon Specification)
Time of Update: 2017-02-27
對於access資料庫連接的時候,原想沒那麼難。可是不斷的報錯。win32com odbc 都已經試過啦,還是不行,最後通過該連結:http://en.wikibooks.org/wiki/Python_Programming/Database_Programming下載了 pyodbc 解決了問題,關鍵因素還是對SQL語句的支援,必須寫的非常規範,比如 join 必須寫成 inner join 等等。錯誤訊息:ProgrammingError: (u'42000', u'[42000]
Time of Update: 2017-02-27
from socket import *from time import ctimeimport os,sys #sys定義了進程退出的方法HOST='localhost'#定義主機PORT=21567#定義連接埠號碼BUFSIZ=1024#定義緩衝區ADDR=(HOST,PORT)#定義元組tcpSerSock=socket(AF_INET,SOCK_STREAM)#產生TCP SockettcpSerSock.bind(ADDR)
Time of Update: 2017-02-27
from socket import * #匯入socket包中的所有內容from time import ctime #匯入time包,同時在本地可使用ctime進行調用import os,sys #匯入os,sys包HOST='localhost'#定義主機PORT=21567#定義連接埠BUFSIZ=1024 #定義緩衝區ADDR=(HOST,PORT) #定義元組tcpSerSock=socket(AF_INET,SOCK_STREAM)
Time of Update: 2017-02-27
from socket import * HOST='localhost'#定義主機ADDR=(HOST,PORT) #定義元組tcpSerSock.listen(1) #監聽使用者請求def client(tcpCliSock,num): #定義函數。由於thread強行要求調用的函數必須有兩個參數。num只是充數,沒有特別含義 CliSock=tcpCliSock #將傳遞進來的用戶端socket賦值給CliSock while True: #