詳細(xì)說(shuō)明Python編輯技巧
對(duì)***次接觸到Python編輯的用戶和學(xué)者來(lái)說(shuō),了解Python的概念是非常重要的,那么就先說(shuō)一下什么是Python編輯,所謂Python語(yǔ)言:是一種使用非常廣泛的計(jì)算機(jī)編程語(yǔ)言。
顧名思義,PIL(Python Imaging Library)是建立在Python編輯的基礎(chǔ)上的,所以從前天開(kāi)始下載了Python2.6,看了Python簡(jiǎn)明手冊(cè),在這個(gè)手冊(cè)的***,作者建議初學(xué)者做這樣一個(gè)程序,即實(shí)現(xiàn):創(chuàng)建你自己的命令行 地址簿程序。
在這個(gè)程序中,你可以添加、修改、刪除和搜索你的聯(lián)系人(朋友、家人和同事等等)以及它們的信息(諸如電子郵件地址和/或電話號(hào)碼)。這些詳細(xì)信息應(yīng)該被保存下來(lái)以便以后提取。
- #!/usr/bin/env python
- # -*- coding: GBK -*-
- import urllib
- from sgmllib import SGMLParser
- class URLLister(SGMLParser):
- def reset(self):
- SGMLParser.reset(self)
- self.urls = []
- def start_a(self, attrs):
- href = [v for k, v in attrs if k == 'href']
- if href:
- self.urls.extend(href)
- url = r'http://www.sinc.sunysb.edu/Clubs/buddhism/JinGangJingShuoShenMo/'
- sock = urllib.urlopen(url)
- htmlSource = sock.read()
- sock.close()
- #print htmlSource
- f = file('jingangjing.html', 'w')
- f.write(htmlSource)
- f.close()
- mypath = r'http://www.sinc.sunysb.edu/Clubs/buddhism/JinGangJingShuoShenMo/'
- parser = URLLister()
- parser.feed(htmlSource)
- for url in parser.urls:
- myurl = mypath + url
- print "get: " + myurl
- sock2 = urllib.urlopen(myurl)
- html2 = sock2.read()
- sock2.close()
- # 保存到文件
- print "save as: " + url
- f2 = file(url, 'w')
- f2.write(html2)
- f2.close()
我估計(jì)這里面關(guān)于一些基本的東西使用得很不好,一定還有更簡(jiǎn)捷***的方法。其實(shí)是用來(lái)練手的,我也沒(méi)有太的期望做多好,程序運(yùn)行后要求輸入一個(gè)項(xiàng)目目錄路徑,生成的結(jié)果在D盤(pán)下的log.html文件中。
除了python自帶的PIL包,還可以用ImageMagic,這樣Gimp能夠做什么,python也能做什么,寫(xiě)10來(lái)行程序,可以處理一大批圖片,這樣的快感不多了。3年前,我?guī)鸵籎J寫(xiě)程序處理衛(wèi)星圖片,大概是把衛(wèi)星云圖切成32*32的正方形,依次計(jì)算闕值然后再統(tǒng)計(jì)。
我用了一個(gè)星期的所有下午,pure c,差不多1500行代碼,那個(gè)時(shí)候正在談戀愛(ài),智商比較低,在windows上面,裝一個(gè)gcc,用editplus做編輯器,gdb+printf來(lái)調(diào)試,雖然***小有成就感,確很費(fèi)了很多功夫,程序的核心部分,如果用Python編輯來(lái)做,短短幾行就搞定。
從網(wǎng)上down一些文章,需要?jiǎng)h掉里面的空白行;沒(méi)有規(guī)則的大段數(shù)字,需要求和; 不同格式的頭文件轉(zhuǎn)換等等;這個(gè)用perl處理更好,3年前我也是這樣作的,當(dāng)我遇到python之后,我就徹底放棄了perl了。
perl很不錯(cuò),基本上同樣的功能,用python寫(xiě)代碼會(huì)長(zhǎng)一些,網(wǎng)絡(luò)社區(qū)提供的各種perl的功能包也多一些,但是Larry Wall 是一個(gè)詩(shī)人,詩(shī)人的氣質(zhì)讓perl的語(yǔ)法,在我們這些程序員眼里看起來(lái)很零亂。#t#
基本上2個(gè)星期不用,要拿perl干活,就得找本語(yǔ)法書(shū)重新看看。在linux下面還好,可以man一把,要是在windows上裝一個(gè)ActivePerl,想查幫助還得打開(kāi)Perl Core Documentation這個(gè)html文件。
一行一行的找,雖然腳本語(yǔ)言的幫助系統(tǒng)都不能.Net,Java等商業(yè)開(kāi)發(fā)工具的幫助相提并論,但是python好歹也有一個(gè)chm文件,可以index的。Perl是給真正的hacker用的, 簡(jiǎn)潔,明快卻是python的優(yōu)點(diǎn)。要是作為一個(gè)專業(yè)的網(wǎng)管,選擇perl沒(méi)錯(cuò)的,至于普通程序員的小玩具,python更好使。

















