Time of Update: 2016-06-10
1.檔案的讀取和顯示方法1:複製代碼 代碼如下: f=open(r'G:\2.txt') print f.read() f.close()方法2: 複製代碼 代碼如下: try: t=open(r'G:\2.txt') print t.read() finally: if t: t.close() 方法3:複製代碼 代碼如下: with open(r'g:\2.txt') as g: for line in g: print
Time of Update: 2016-06-10
不論什麼語言,我們都需要注意效能最佳化問題,提高執行效率。選擇了指令碼語言就要忍受其速度,這句話在某種程度上說明了Python作為指令碼語言的不足之處,那就是執行效率和效能不夠亮。儘管Python從未如C和Java一般快速,但是不少Python項目都處於開發語言領先位置。Python很簡單易用,但大多數人使用Python都知道在處理密集型cpu工作時,它的數量級依然低於C、Java和JavaScript。但不少第三方不願贅述Python的優點,而是決定自內而外提高其效能。如果你想讓Python在
Time of Update: 2016-06-10
假設定義了一個類:C,該類必須繼承自object類,有一私人變數_x複製代碼 代碼如下:class C: def __init__(self): self.__x=None 1.現在介紹第一種使用屬性的方法: 在該類中定義三個函數,分別用作賦值、取值和刪除變數(此處表達也許不很清晰,請看樣本) def getx(self): return self.__x def setx(self,value): self.__x=value def delx(self): del self.__
Time of Update: 2016-06-10
今天在寫爬蟲程式的時候由於要翻頁,做除法分頁的時候出現了複製代碼 代碼如下: totalCount = '100' totalPage = int(totalCount)/20ValueError: invalid literal for int() with base
Time of Update: 2016-06-10
threading.ThreadThread 是threading模組中最重要的類之一,可以使用它來建立線程。有兩種方式來建立線程:一種是通過繼承Thread類,重寫它的run方法;另一種是建立一個threading.Thread對象,在它的初始化函數(__init__)中將可調用對象作為參數傳入。下面分別舉例說明。先來看看通過繼承threading.Thread類來建立線程的例子: #coding=gbkimport threading, time, randomcount = 0class
Time of Update: 2016-06-10
文章的主題不要使用可變對象作為函數的預設參數例如 list,dict,因為def是一個可執行語句,只有def執行的時候才會計算預設預設參數的值,所以使用預設參數會造成函數執行的時候一直在使用同一個對象,引起bug。基本原理在 Python 源碼中,我們使用def來定義函數或者方法。在其他語言中,類似的東西往往只是一一個文法聲明關鍵字,但def卻是一個可執行檔指令。Python代碼執行的時候先會使用 compile 將其編譯成 PyCodeObject.PyCodeObject
Time of Update: 2016-06-10
LRU:least recently
Time of Update: 2016-06-10
保證只能運行一個指令碼執行個體,方法是程式運行時監聽一個特定連接埠,如果失敗則說明已經有執行個體在跑。使用裝飾器實現,便於重用複製代碼 代碼如下:import functoolsdef just_one_instance(func):'''裝飾器如果已經有執行個體在跑則退出複製代碼 代碼如下::return:''' @functools.wraps(func) def f(*args,**kwargs): import socket try:# 全域屬性,
Time of Update: 2016-06-10
zip檔案格式是通用的文檔壓縮標準,在ziplib模組中,使用ZipFile類來操作zip檔案,下面具體介紹一下:class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])建立一個ZipFile對象,表示一個zip檔案。參數file表示檔案的路徑或類檔案對象(file-like
Time of Update: 2016-06-10
1. 函數式編程概述1.1. 什麼是函數式編程?函數式編程使用一系列的函數解決問題。函數僅接受輸入併產生輸出,不包含任何能影響產生輸出的內部狀態。任何情況下,使用相同的參數調用函數始終能產生同樣的結果。在一個函數式的程式中,輸入的資料“流過”一系列的函數,每一個函數根據它的輸入產生輸出。函數式風格避免編寫有“邊界效應”(side effects)的函數:修改內部狀態,或者是其他無法反應在輸出上的變化。完全沒有邊界效應的函數被稱為“純函數式的”(purely
Time of Update: 2016-06-10
原理:建立一個任務隊列,然多個線程都從這個任務隊列中取出任務然後執行,當然任務隊列要加鎖,詳細請看代碼import threadingimport timeimport signalimport os class task_info(object): def __init__(self): self.func = None self.parm0 = None self.parm1 = None self.parm2 = None class
Time of Update: 2016-06-10
2. 從函數開始2.1. 定義一個函數如下定義了一個求和函數:複製代碼 代碼如下:def add(x, y): return x + y關於參數和傳回值的文法細節可以參考其他文檔,這裡就略過了。使用lambda可以定義簡單的單行匿名函數。lambda的文法是:複製代碼 代碼如下:lambda args: expression參數(args)的文法與普通函數一樣,同時運算式(expression)的值就是匿名函數調用的傳回值;而lambda運算式返回這個匿名函數。如果我們給匿名函數取個名字,
Time of Update: 2016-06-10
本文執行個體講述了python讀取TXT到數組及列表去重後按原來順序排序的方法。分享給大家供大家參考。具體如下:##################################################################### python 讀取TXT到數組 列表去重,不打亂原來的順序# 剛學寫的不好請大家見諒####################################################################def open_txt(
Time of Update: 2016-06-10
如果可以減少過多的外部隔離的API和簡化部署的細節 這會是非常好的。在以前的文章中,我解釋了"一些使用反向 Proxy的好處"。在我目前的項目裡,我們已經構建分布式面向服務的架構,也顯式提供了一個HTTP API,我們使用反向 Proxy將請求路由通過API路由給單個組件。我們選擇了Nginx Web這個優秀的伺服器作為我們的反向
Time of Update: 2016-06-10
今天來討論一下裝飾器。裝飾器是一個很著名的設計模式,經常被用於有切面需求的情境,較為經典的有插入日誌、效能測試、交易處理等。裝飾器是解決這類問題的絕佳設計,有了裝飾器,我們就可以抽離出大量函數中與函數功能本身無關的雷同代碼並繼續重用。概括的講,裝飾器的作用就是為已經存在的對象添加額外的功能。1. 裝飾器入門1.1. 需求是怎麼來的?裝飾器的定義很是抽象,我們來看一個小例子。複製代碼 代碼如下:def foo(): print 'in foo()'
Time of Update: 2016-06-10
本文執行個體講述了python實現linux下使用xcopy的方法。分享給大家供大家參考。具體如下:這個python函數模仿windows下的xcopy命令編寫,可以用在linux下#!/usr/bin/python# -*- coding: UTF-8 -*-"""xcopy for Linux...Use:______________________________________________________________________________import sys,
Time of Update: 2016-06-10
本文執行個體講述了基於進程內通訊的python聊天室實現方法。分享給大家供大家參考。具體如下:#!/usr/bin/env python# Added by import sysimport osfrom multiprocessing import connectionADDR = ('', 9997)AUTH_KEY = '12345'class Server(object): def __init__(self, username): self.auth_key =
Time of Update: 2016-06-10
本文執行個體講述了Python實現的使用telnet登陸聊天室。分享給大家供大家參考。具體如下:前久在家學習Python的時候寫的一個簡單的聊天室,可以使用telnet來登陸。遺憾的是現在對中文的支援很差,英文聊天倒是沒什麼問題了。功能很簡單的,應該沒有你想象的那麼強大,但是你如果有興趣的話可以試試的。另外,讓我驚奇的是它可以在Android的平板上運行SL4A的Python解譯器上運行(需要稍微改幾句代碼,貌似是編碼的那個地方,我記不清了)。現在這個是可以在PC上跑起來的。廢話不多,直接放代碼
Time of Update: 2016-06-10
市面上有很多開源的監控系統:Cacti、nagios、zabbix。感覺都不符合我的需求,為什麼不自己做一個呢用Python兩個小時徒手擼了一個簡易的監控系統,給大家分享一下,希望能對大家有所啟發首先資料庫建表建立一個資料庫“falcon”,建表語句如下:CREATE TABLE `stat` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `host` varchar(256) DEFAULT NULL, `mem_free` int(11)
Time of Update: 2016-06-10
測試代碼如下:複製代碼 代碼如下: class ModelMetaClass(type): def __new__(cls,name,base,attrs): logging.info("cls is:"+str(cls)) logging.info("name is:"+str(name)) logging.info("base is:"+str(base)) logging.info("attrs