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