Time of Update: 2017-01-19
本文針對Python的全域變數實現方法簡述如下:先來看下面一段測試程式:count = 0def Fuc(count): print count count += 1for i in range(0, 10): Fuc(count)運行結果是:>>>0000000000很顯然,這並不是我們想要的結果。針對這一問題的解決方案就是採用全域變數:global aa = 3def Fuc(): global a print a a = a + 1if __name__ ==
Time of Update: 2017-01-19
本文介紹Python實現連接埠複用執行個體如下所示:#coding=utf-8import socketimport sysimport selectimport threadinghost='192.168.99.100'port=80class Thread(threading.Thread): def __init__(self,buf,sockfd): threading.Thread.__init__(self) self.buf=buf
Time of Update: 2017-01-19
採用python實現簡單QQ單使用者機器人的方法如下:一、首先我們查看一下關於3GQQ的相關協議: 對此,開啟一個支援WAP的瀏覽器,可以使用Firefox的wmlbrowser外掛程式,開啟FF後,訪問地址 https://addons.mozilla.org/zh-CN/firefox/search/?q=wmlbrowser&cat=all&x=17&y=11
Time of Update: 2017-01-19
首先下載源tar包可利用linux內建下載工具wget下載,如下所示:wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz下載完成後到下載目錄下,解壓tar -zxvf Python-2.7.3.tgz進入解壓縮後的檔案夾cd Python-2.7.3在編譯前先在/usr/local建一個檔案夾python27(作為python的安裝路徑,以免覆蓋老的版本)mkdir
Time of Update: 2017-01-19
Python的互動式命令列可通過開機檔案來配置。當Python啟動時,會尋找環境變數PYTHONSTARTUP,並且執行該變數中所指定檔案裡的程式碼。該指定檔案名稱以及地址可以是隨意的。按Tab鍵時會自動補全內容和命令曆史。這對命令列的有效增強,而這些工具則是基於readline模組實現的(這需要readline程式庫輔助實現)。此處為大家舉一個簡單的啟動指令檔例子,它為python命令列添加了按鍵自動補全內容和曆史命令功能。[python@python ~]$ cat
Time of Update: 2017-01-19
自己隨手寫了Python下 fork 進程的測試代碼(來說明這個問題不一定完全合適):def fork(a): def now(): import datetime return datetime.datetime.now().strftime("%S.%f") import os import time print now(), a if os.fork() == 0: print '子進程[%s]:%s' % (now(), os.getpid()) while 1: a-=10
Time of Update: 2017-01-19
先從搭建環境開始。作為一個Python初學者來說,一個趁手的編譯器是很重要的,本想用VS來開發Python,但是感覺實際開發中沒有幾家公司會用VS來開發Python,沒辦法就換成了MyEclipse。一、首先下載和安裝Myeclipse就略過了。二、安裝Python。 一般的開發環境是在linux,網上很多教程和視頻也都是在linux下配置和開發的。我的開發環境是64位win8系統,先從官網下載64位的Python安裝程式。可以從這裡選擇要下載的版本
Time of Update: 2017-01-19
第一招:蛇打七寸:定位瓶頸首先,第一步是定位瓶頸。舉個簡單的栗子,一個函數可以從1秒最佳化到到0.9秒,另一個函數可以從1分鐘最佳化到30秒,如果要花的代價相同,而且時間限制只能搞定一個,搞哪個?根據短板原理,當然選第二個啦。一個有經驗的程式員在這裡一定會遲疑一下,等等?函數?這麼說,還要考慮調用次數?如果第一個函數在整個程式中需要被調用100000次,第二個函數在整個程式中被調用1次,這個就不一定了。舉這個栗子,是想說明,程式的瓶頸有的時候不一定一眼能看出來。還是上面那個選擇,程式員的你應該有
Time of Update: 2017-01-19
這兩天在用python寫一個採集器,有個功能模組是html代碼轉換為ubb,網上貌似沒有現成程式,就自己寫了個函數,順便鍛煉下自己的正則。import redef Html2UBB(content):#以下是將html標籤轉為ubb標籤pattern = re.compile( '<a href=\"([sS]+?)\"[^>]*>([sS]+?)</a>',re.I)content =
Time of Update: 2017-01-19
API:statuses/public_timeline 返回最新的200條公用微博,返回結果非完全即時CODE:#!/usr/bin/python # -*- coding: utf-8 -*-'''Created on 2014-7-3@author: guaguastd@name: statuses_public_timeline.py'''def public_timeline(weibo_api, count): #public_timeline = weibo_api.
Time of Update: 2017-01-19
python socket.error: [Errno 10054] 遠程主機強迫關閉了一個現有的串連。問題解決方案:前幾天使用python讀取網頁。因為對一個網站大量的使用urlopen操作,所以會被那個網站認定為攻擊行為。有時就不再允許下載。導致urlopen()後,request.read()一直卡死在那裡。最後會拋出errno 10054.這個錯誤是connection reset by
Time of Update: 2017-01-19
說檢查點,其實就是對過去曆史的記錄,可以認為是log.不過這裡進行了簡化.舉例來說,我現在又一段文本.文本裡放有一堆堆的連結地址.我現在的任務是下載那些地址中的內容.另外因為網路的問題或者網站的問題,每次下載可能不會非常的成功.有可能出現斷鏈或者socket異常錯誤。不過不管產生什麼樣的錯誤,我都希望我的程式能夠一直跑下去。或者能停掉後,繼續從為下載的連結處跑。而不是從開始的地方跑。這個問題非常簡單。因為這些連結是上下文無關的(上下文有關的情況要另外分析)。所以我只要記錄程式運行停止前的最後一條
Time of Update: 2017-01-19
項目編寫過程中,總能遇見對字典進行排序什麼的,如果要實現多條件排序只需要下面幾行代碼實現。充分體現了python的好處了。複製代碼 代碼如下:teamitems = [{'team':'France' , 'P':1 , 'GD':-3 , 'GS':1 , 'GA':4},
Time of Update: 2017-01-19
#/usr/bin/env python#-*- coding:utf-8 -*- """1.解析 crontab 設定檔中的五個數間參數(分 時 日 月 周),擷取他們對應的取值範圍2.將時間戳記與crontab配置中一行時間參數對比,判斷該時間戳記是否在配置設定的時間範圍內""" #$Id $ import re, time, sysfrom Core.FDateTime.FDateTime import FDateTime def
Time of Update: 2017-01-19
花了兩周時間,利用工作間隙時間,開發了一個基於Django的專案工作管理Web應用。專案計劃的即時動態,可以方便地被項目成員查看(^_^又重複發明輪子了)。從前台到後台,好好折騰了一把,用到:HTML、CSS、JavaScript、Apache、Python、mod_wsgi、Django。好久不用CSS和JavaScript了,感到有點生疏了,查了無數次手冊。後台Django開發環境的搭建也花了不少時間和精力。記錄下來,免得以後走彎路。同時給大家推薦一下Django架構,如果你想非常快速地編寫
Time of Update: 2017-01-19
Anaconda是一個和Canopy類似的科學計算環境,但用起來更加方便。內建的包管理器conda也很強大。首先是下載安裝。Anaconda提供了Python2.7和Python3.4兩個版本,同時如果需要其他版本,還可以通過conda來建立。安裝完成後可以看到,Anaconda提供了Spyder,IPython和一個命令列。下面來看一下conda。輸入 conda list 來看一下所有安裝時內建的Python擴充。粗略看了一下,其中包括了常用的 Numpy , Scipy ,
Time of Update: 2017-01-19
主流的web server 一個巴掌就能數出來,apache,lighttpd,nginx,iisapplication,中文名叫做應用服務,就是你基於某個web framework寫的應用代碼DB server 泛指儲存服務,web開發中用mysql比較多,最近幾年因為網站規模擴大,memcache,redis這種key-value等儲存也流行開來放在最前面的 web server 有3個功能高效率處理靜態檔案 ,web
Time of Update: 2017-01-19
在Bioinformatics(生物資訊學)領域,WebService是很重要的一種資料交換技術,未來必將更加重要。目前EBI所提供的WebService就分別有SOAP和REST兩種方式的服務,不管是資料服務還是計算服務(計算任務提交)。1 Python + SOAP/WSDL/UDDI最普遍的做法(個人觀點)是使用 python ZSI2.0 ,ZSI還依賴於 SOAPpy 和 pyXML
Time of Update: 2017-01-19
推薦系統中經常需要處理類似user_id, item_id, rating這樣的資料,其實就是數學裡面的疏鬆陣列,scipy中提供了sparse模組來解決這個問題,但scipy.sparse有很多問題不太合用:1、不能很好的同時支援data[i, ...]、data[..., j]、data[i, j]快速切片;2、由於資料儲存在記憶體中,不能很好的支援海量資料處理。要支援data[i, ...]、data[...,
Time of Update: 2017-01-19
URL提交是百度提供的一個站長工具,用於給站長提供手工收錄某些URL的介面,但是該介面有驗證碼識別部分,比較難弄。所以編寫了如下程式進行驗證碼自動識別:主要思路擷取多個驗證碼,提交到 http://lab.ocrking.com/ 進行多次識別,然後計算每個驗證碼圖片識別出來的 字母或數字 進行統計,得出統計率最高的 即為驗證碼。複製代碼 代碼如下:#!/usr/bin/env python# -*- coding: utf-8 -*-import requestsimport