首先,為什麼選擇Tornado:1.高效能的網路程式庫,這可以和gevent,twisted,libevent等做對。提供了非同步io支援,逾時事件處理,在此基礎上提供了tcpserver,httpclient,尤其是curlhttpclient,在現有http用戶端中肯定排第一。可以用來做爬蟲,遊戲伺服器,據我所知業界已有使用tornado作為遊戲伺服器2.web架構,這可以和django,flask對。提供了路由,模板等web架構必備組件。與其他區別是tornado是非同步,天然適合長輪訓,
早就聽說requests的庫的強大,只是還沒有接觸,今天接觸了一下,發現以前使用urllib,urllib2等方法真是太搓了……這裡寫些簡單的使用初步作為一個記錄一、下載官方項目頁: https://pypi.python.org/pypi/requests/#downloads可以從上面直接下載。二、發送無參數的get請求>>> r = requests.get('http://httpbin.org/get')>>> print r.text{
最近寫一個BootStrap頁面...因為功能需要所以決定一個頁面解決所有問題,然後用jQuery來動態顯示功能....然而這樣做的話頁面會相當龐大,一堆隱藏模態視窗和功能div都堆在一起看起來挺難受的 然後想了下就用Python寫了個小指令碼用來支援<include>標籤,用處是合并外部html檔案,來強行分檔案編寫單個龐大的HTML頁面 用了下感覺挺好用的,分享給大家 使用方法: HTML中使用<include
1. 多線程的作用簡而言之,多線程是平行處理相互獨立的子任務,從而大幅度提高整個任務的效率。2. Python中的多線程相關模組和方法Python中提供幾個用於多線程編程的模組,包括thread,threading和Queue等thread模組提供了基本的線程和鎖的支援,除產生線程外,也提供基本的同步資料結構鎖對象,其中包括:start_new_thread(function, args kwargs=None)
os.walk產生器os.walk(PATH), PATH是個檔案夾路徑,當然可以用.或者../這樣啦.返回的是個三元元組為元素的列表, 每個元素代表了一個檔案夾下的內容.第一個就是當前檔案夾下內容.返回的三元元組代表(該工作資料夾, 該檔案夾下的檔案夾的列表, 該檔案夾下檔案的列表).所以,獲得所有子檔案夾, 就是(d代表這三元元組):os.path.join(d[0],d[1]);獲得所有子檔案, 就是: os.path.join(d[0],d[2]);以下例子使用了兩套迴圈,
列表與元組列表用大括弧[]表示,元組用圓括弧()表示。列表可以修改,字串與元組不可修改。元組的分區還是元組,列表的分區還是列表。1.列表方法:name=["zhang3","li4","wang5"]name.append("gou6") #添加項name.remove("gou6") #移除第一個匹配項,也可用del name[3]來移除name.insert(3,"gou6") #插入項name.index("gou6")
讀寫檔案首先看一個例子:f = open('thefile.txt','w') #以寫方式開啟,try: f.write('wokao')finally: f.close()檔案的開啟檔案:f =
Python中預設安裝的ftplib模組定義了FTP類,其中函數有限,可用來實現簡單的ftp用戶端,用於上傳或下載檔案.FTP的工作流程及基本操作可參考協議RFC959.ftp登陸串連from ftplib import FTP #載入ftp模組ftp=FTP() #設定變數ftp.set_debuglevel(2) #開啟調試層級2,顯示詳細資料ftp.connect("IP","port") #串連的ftp
defaultdict 主要用來需要對 value 做初始化的情形。對於字典來說,key 必須是 hashable,immutable,unique 的資料,而 value 可以是任意的資料類型。如果 value 是 list,dict 等資料類型,在使用之前必須初始化為空白,有些情況需要把 value 初始化為特殊值,比如 0 或者 ‘‘。from collections import defaultdictperson_by_age = defaultdict(list)for
複製代碼 代碼如下:import pdbdef pdb_test(arg): for i in range(arg): print(i) return argpdb.run("pdb_test(3)") b 函數名、行號:打斷點,b可以查詢所有的斷點。複製代碼 代碼如下:(Pdb) b
內送郵件複製代碼 代碼如下:import poplib,pdb,email,re,timefrom email import headerPOP_ADDR = r'pop.126.com'USER = ''PASS = ''CONFIG = ''def getYear(date): rslt = re.search(r'\b2\d{3}\b', date) return int(rslt.group())def
方法一:複製代碼 代碼如下:f = open("foo.txt") # 返回一個檔案對象 line = f.readline() # 調用檔案的 readline()方法 while
1. 最簡單的方法是用base64:複製代碼 代碼如下:import base64s1 = base64.encodestring('hello world')s2 = base64.decodestring(s1)print s1,s2# aGVsbG8gd29ybGQ=\n# hello worldNote: 這是最簡單的方法了,但是不夠保險,因為如果別人拿到你的密文,也可以自己解密來得到明文2. 第二種方法是使用win32com.client複製代碼 代碼如下:import
系統內容:VC6 +
說明1. 使用google翻譯服務獲得翻譯和語音;2. 使用mplayer播放獲得的音效檔,因此,如果要播放語音,請確保PATH中能夠找到mplayer程式,如果沒有mplayer,請將use_tts設定為False運行。即:main(use_tts=False)3. 退出程式,輸入"x",斷行符號。複製代碼 代碼如下:#! /usr/bin/env python#coding=utf-8import requestsdef translate(words):
複製代碼 代碼如下:#! /usr/bin/env python#coding=utf-8from __future__ import unicode_literalsfrom multiprocessing.dummy import Pool as ThreadPoolimport threadingimport osimport sysimport cPicklefrom collections import namedtupleimport urllib2from urlparse
複製代碼 代碼如下:# encoding:utf-8### 檔案名稱如:# 下吧.mp3##import os,refs=os.listdir('xb')for f in fs: ######方法一:partition擷取無用字元 #1.將檔案名稱以'['符分為3部分 #ls=f.partition('[') #2.ls[0]為需要檔案名稱,因此擷取ls[1:] #dirtystring =
複製代碼 代碼如下:#! /usr/bin/python2.7# -- coding:utf-8 --import os, urllib,urllib2, thread,threadingimport re#匹配音樂urlreg=re.compile('{"name":"(.+?)".+?"rawUrl":"(.+?)",.+?}', re.I)class
urllib基礎模組的應用,通過該類擷取到url中的html文檔資訊,內部可以重寫代理的擷取方法複製代碼 代碼如下:class ProxyScrapy(object): def __init__(self): self.proxy_robot = ProxyRobot()
複製代碼 代碼如下:# -*- coding: cp936 -*-import socketfrom threading import Thread,activeCount,Lockfrom time import ctimemutex = Lock()class Loop(Thread): def __init__(self,ip,port,que):