myPhoneBook2.py#!/usr/bin/python#-*-coding:utf-8-*-importreclassPhoneBook(object):'''這是一個電話簿腳本。該腳本能夠?qū)崿F(xiàn)AddContact:添加聯(lián)系人信息ShowContact:查找姓名顯示聯(lián)系人SaveContacts:存儲聯(lián)系人到TXT文檔(存儲格式――姓名:號碼/號碼)LoadContacts:從txt文檔中載入聯(lián)系人'''def__init__(self):sel
系統(tǒng) 2019-09-27 17:38:30 1635
Python是用于編碼圖形界面的極佳語言。由于可以迅速地編寫工作代碼并且不需要費時的編譯周期,所以可以立即使界面啟動和運行起來,并且不久便可使用這些界面。將這一點與Python易于鏈接本機庫的能力結(jié)合起來,就可以形成一個出色的環(huán)境。gnome-python是為Python封裝GNOME及其相關(guān)庫的軟件包。這使您能夠用Python編寫外觀與核心GNOME應(yīng)用程序完全相同的應(yīng)用程序,而所花的時間只是用C編寫該應(yīng)用程序所花的一部分。然而,不用C進行編程會有一個缺
系統(tǒng) 2019-09-27 17:38:29 1635
如果直接對大文件對象調(diào)用read()方法,會導(dǎo)致不可預(yù)測的內(nèi)存占用。好的方法是利用固定長度的緩沖區(qū)來不斷讀取文件內(nèi)容。即通過yield。在用Python讀一個兩個多G的txt文本時,天真的直接用readlines方法,結(jié)果一運行內(nèi)存就崩了。還好同事點撥了下,用yield方法,測試了下果然毫無壓力。咎其原因,原來是readlines是把文本內(nèi)容全部放于內(nèi)存中,而yield則是類似于生成器。代碼如下:defopen_txt(file_name):withope
系統(tǒng) 2019-09-27 17:38:24 1635
簡單記一下python中List的sort方法(或者sorted內(nèi)建函數(shù))的用法。List的元素可以是各種東西,字符串,字典,自己定義的類等。sorted函數(shù)用法如下:sorted(data,cmp=None,key=None,reverse=False)其中,data是待排序數(shù)據(jù),可以使List或者iterator,cmp和key都是函數(shù),這兩個函數(shù)作用與data的元素上產(chǎn)生一個結(jié)果,sorted方法根據(jù)這個結(jié)果來排序。cmp(e1,e2)是帶兩個參數(shù)的
系統(tǒng) 2019-09-27 17:38:23 1635
前言最近有人在Twisted郵件列表中提出諸如"為任務(wù)緊急的人提供一份Twisted介紹"的需求。值得提前透露的是,這個系列并不會如他們所愿。尤其是介紹Twisted框架和基于Python的異步編程而言,可能短時間無法講清楚。因此,如果你時間緊急,這恐怕不是你想找的資料。我相信如果對異步編程模型一無所知,快速的介紹同樣無法讓你對其有所理解,至少你得稍微懂點基礎(chǔ)知識吧。我已經(jīng)用Twisted框架幾年了,因此思考過我當初是怎么學習它(學得很慢)并發(fā)現(xiàn)學習它的最
系統(tǒng) 2019-09-27 17:38:20 1635
前言最近在維護項目的python項目代碼,項目使用了python的日志模塊logging,設(shè)定了保存的日志數(shù)目,不過沒有生效,還要通過contab定時清理數(shù)據(jù)。分析項目使用了logging的TimedRotatingFileHandler:#!/user/bin/envpython#-*-coding:utf-8-*-importloggingfromlogging.handlersimportTimedRotatingFileHandlerlog=log
系統(tǒng) 2019-09-27 17:38:11 1635
列表有自己的sort方法,其對列表進行原址排序,既然是原址排序,那顯然元組不可能擁有這種方法,因為元組是不可修改的。排序,數(shù)字、字符串按照ASCII,中文按照unicode從小到大排序x=[4,6,2,1,7,9]x.sort()print(x)#[1,2,4,6,7,9]如果需要一個排序好的副本,同時保持原有列表不變,怎么實現(xiàn)呢?x=[4,6,2,1,7,9]y=x[:]y.sort()print(y)#[1,2,4,6,7,9]print(x)#[4,
系統(tǒng) 2019-09-27 17:38:09 1635
python語言的3.x完全不向前兼容,導(dǎo)致我們在python2.x中可以正常使用的庫,到了python3就用不了了.比如說mysqldb1.安裝pymysqlpymysql就是作為python3環(huán)境下mysqldb的替代物,進入命令行,使用pip安裝pymysqlpipinstallpymysql32.使用pymysql在我們需要使用數(shù)據(jù)庫的.py文件開頭添加下面兩行importpymysqlpymysql.install_as_MySQLdb()第一行
系統(tǒng) 2019-09-27 17:38:08 1635
代碼中經(jīng)常會有變量是否為None的判斷,有三種主要的寫法:第一種是`ifxisNone`;第二種是`ifnotx:`;第三種是`ifnotxisNone`(這句這樣理解更清晰`ifnot(xisNone)`)。如果你覺得這樣寫沒啥區(qū)別,那么你可就要小心了,這里面有一個坑。先來看一下代碼:>>>x=1>>>notxFalse>>>x=[1]>>>notxFalse>>>x=0>>>notxTrue>>>x=[0]#Youdon'twanttofallinth
系統(tǒng) 2019-09-27 17:38:05 1635
一、參數(shù)傳入規(guī)則可變參數(shù)允許傳入0個或任意個參數(shù),在函數(shù)調(diào)用時自動組裝成一個tuple;關(guān)鍵字參數(shù)允許傳入0個或任意個參數(shù),在函數(shù)調(diào)用時自動組裝成一個dict;1.傳入可變參數(shù):defcalc(*numbers):sum=0forninnumbers:sum=sum+n*nreturnsum以上定義函數(shù),使用如下:傳入多個參數(shù),calc(1,2,3,4)30#函數(shù)返回值傳入一個列表,nums=[1,2,3]calc(*nums)#通過*將list中的元素作
系統(tǒng) 2019-09-27 17:38:04 1635