Time of Update: 2018-12-04
網上更多文章是用Django、webpy等架構的前提下,由於我只是用其CGI而不是搞純web開發,所以暫時不打算用這類架構,直接用flup包(其實大多數架構WSGI也是封裝的flup)。廢話不多說,進入正題,先看下需要的環境和工具:1、Linux2.6(廢話- -!)2、Nginx(需包含fastcgi模組)3、Spawn-fcgi
Time of Update: 2018-12-04
測試環境1:win7測試環境2:ubuntu10.04 安裝Erlang環境1、下載: http://erlang.org/download.html 自己根據需要下載源碼包或win的二進位包2、安裝:windows環境就沒啥好說的了,一路next~主要說下linux環境,其實我用的ubuntu10.04已經預裝了erlang,版本是RB13B03,但是貌似不支援最新版的RabbitMQ對於想使用最新版RabbitMQ或還沒有安裝erlang環境的童鞋,需要重新安裝下最新版的erlang目前Er
Time of Update: 2018-12-04
XML的使用:1、 處理xml訊息包比較好用的模組是xml.etree.ElementTree。2、 Element執行xml的根節點。3、 elem.find(path):尋找根節點下面路徑為path的子節點。4、 elem.findall(path):同樣的子節點可能有多個,這裡會返回一個列表。5、 elem.findtext(path):擷取指定路徑子節點的內容,這個我們會經常使用。6、 elem.get(key);擷取屬性的值。7、 上面如果沒用,則返回none8、
Time of Update: 2018-12-04
日誌的使用:1、 日誌的標準模組logging基本可以滿足我的工作。2、 設定log的初始化工作:logging.basicConfig( filename = "test.log", format = "[%(asctime)s-%(levelname)s] %(message)s[%(filename)s,%(lineno)d]", level = logging.INFO, datefmt = "%F %T")3、
Time of Update: 2018-12-04
1、 type()可以查看對象的類型。這就是自省。也就是可以看看自己是什麼類型。這個功能在動態語言中非常有用。2、 getattr函數:這是個非常有用的函數,它可以根據字串,從模組,類,對象執行個體中擷取屬性和方法的應用並且調用。這個功能非常類似於c語言的函數指標,以及c++中的成員函數的指標。3、字元編碼的使用encode是將Unicode轉化為str,decode是將字串轉化為Unicode。所以,一個字串要轉化為另一種格式可以:s =
Time of Update: 2018-12-04
運行結果:上機感言:與初次學C++一樣,不,比起初次學C++更興奮,因為那時不懂程式,但這次我有了獨立的能力,學習一門語言;初次學C++帶著壓力,這次帶著的是興奮,對,就是興奮!!!沒有比現在更興奮的事了!!!我個人認為,我邁出的這一步是一大步,就像阿姆斯特朗一樣,代表人類邁出了踏上月球的第一步,我也邁出了一大步,代表著自己的整個未來。但我能否像阿姆斯特朗一樣凱旋歸來,這顯然需要自己的堅持不懈,就像迴歸的飛船不能失去動力一樣,否則我將失去一個美好的未來。只想對自己說:JUST DO
Time of Update: 2018-12-04
摘自老外的解釋http://lists.fedoraproject.org/pipermail/users/2009-August/087219.htmlIt seems i have two python2.6 folders located in /usr/lib vs/usr/lib64 respectively. Most python stuff (source) is in/usr/lib64/python2.6 but when in installed packages
Time of Update: 2018-12-04
寫了一個統計某檔案夾下各種原始碼行數的指令碼僅支援c/c++ java python有需要可以自己更改程式,我把這個指令碼的拓展性做的很高很容易使之支援其他文本型語言代碼或者給我Email我幫你做 onezeros@yahoo.cn 對於MFC自動產生的程式碼應該排除在外可以用一種不太嚴密的方法:先統計各種mfc產生工程代碼數量然後在分析檔案夾時根據mfc檔案的一些特徵判斷目標檔案夾是否為mfc工程如果是,就減去產生的程式碼量 #!/usr/bin/python#codelines.py
Time of Update: 2018-12-04
謝了一個自動下載指定人的部落格的指令碼這個指令碼是用來下載csdn部落格的同樣的方法可以下載一般其他網站的部落格,如sina 有時頁面訪問會被拒絕,重新運行即可這種程式是在分析了指定網站,我在這兒是csdn,之後編寫出的會牽涉到網頁的編碼問題,有時程式運行會因此終止我自己的部落格已經下載忘了只是下載網頁使用網頁分析後可以整理出文章,那樣更實用##blogdownloader_csdn.py#@Author:onezeros@yahoo.cn ||Zhijie Lee#I didnot
Time of Update: 2018-12-04
之前寫了一個自動解壓壓縮檔到壓縮檔所在檔案夾的指令碼後根據自己需要,寫了另外兩個。原理一樣都是使用winrar的命令 第一個指令碼沒考慮周到,只能解壓rar檔案改進後可以支援winrar支援的各種檔案 把指定檔案夾下的檔案儲存到指定檔案夾#rardir.pyimport osimport syssrc=sys.argv[1]dst=sys.argv[2]format=['rar','zip','7z','ace','arj','bz2','cab','gz','iso','jar','lzh',
Time of Update: 2018-12-04
下載了很多壓縮檔,就寫了一個指令碼在Python中使用winrar命令,所以一般壓縮檔都支援有些壓縮檔Python中還沒有相應的庫 你得先把winrar添加到path環境變數中 把代碼儲存為rar.py在dos下使用,如:rar.py "D:/A B/C" mkdir #rar.py#decompress with winrar#arguments :filename directory opt# opt='mkdir' to create directory with the
Time of Update: 2018-12-04
多任務的平行處理,為防止阻塞,本打算用線程處理,但經實際測試後效果很不理想(當然肯定也和我對線程的不熟悉有關),發現還是多進程穩定可靠:)PS:Chrome為每個標籤頁開一個進程就是為了安全和穩定。上網查閱也經常看到一些說法,如在 IBM developerWorks 的 早期文章 中,我示範了使用 Python 實現線程式編程的一種簡單且有效模式。但是,這種方法的一個缺陷就是它並不總是能夠提高應用程式的速度,因為全域解譯器鎖(Global Interpreter
Time of Update: 2018-12-04
python 編碼方式總結(python內部使用unicode編碼): >>> t='北京'>>> t'\xe5\x8c\x97\xe4\xba\xac' 1)urllib.quote(t) 將t轉換為16進位編碼 '%E5%8C%97%E4%BA%AC' urllib.unquote('%E5%8C%97%E4%BA%AC') 將16進位編碼轉換為內部編碼 '\xe5\x8c\x97\xe4\xba\xac' 2)deco
Time of Update: 2018-12-04
查看原文字串的格式化 在python中也有類似於c中的printf()的格式輸出標記。在python中格式化輸出字串使用的是%運算子,通用的形式為格式標記字串 % 要輸出的值組其中,左邊部分的”格式標記字串“可以完全和c中的一致。右邊的'值組'如果有兩個及以上的值則需要用小括弧括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單形式為:%cdoe其中的code有多種,不過由於在python中,所有東西都可以轉換成string類型,因此,如果沒有什麼特殊需求完全可以全部使用’%s‘來標記。
Time of Update: 2018-12-04
with從Python 2.5就有,需要from __future__ import with_statement。自python 2.6開始,成為預設關鍵字。 也就是說with是一個控制流程語句,跟if/for/while/try之類的是一類的,with可以用來簡化try finally代碼,看起來可以比try finally更清晰。這裡新引入了一個"上下文管理協議"context management
Time of Update: 2018-12-04
python的跨包引用方法 假設包的階層如下:package1/ __init__.py subPack1/ __init__.py module_11.py module_12.py module_13.py subPack2/ __init__.py module_21.py module_22.py 現在假設subPack2
Time of Update: 2018-12-04
在安裝python第三方類庫時,python提供了一個類似於yum的命令easy_install,但是系統一般都是不會內建easy_install命令的,故將easy_install命令的安裝方法介紹如下: 1)下載setuptools:wget http://pypi.python.org/packages/2.4/s/setuptools/setuptools-0.6c11-py2.4.egg#md5=bd639f9b0eac4c42497034dec2ec0c2b
Time of Update: 2018-12-04
開發多線程的應用系統,是在日常的軟體開發中經常會遇到的需求。現在的程式設計語言都為多線程開發提供了很好的支援,無論是通過庫的支援還是將多線程機制內建在語言之中。Python 也為多線程系統的開發提供了很好的支援。同樣身為動態語言,Ruby 也提供了多線程的支援,但是在Ruby 1.9 之前的多線程機制是在語言的實現中類比了線程及線程調度機制,而並沒有使用作業系統本身的線程機制(在以後的描述中,我們稱為原生線程)。Ruby 1.9 中整合了YARV 作為Ruby 新的虛擬機器,在YARV
Time of Update: 2018-12-04
寫幾個多線程的例子 在python的threading module裡有如下一段話:Due to the Global Interpreter Lock, in CPython only one thread can execute Python code at once (even though certain performance-oriented libraries might overcome this limitation). If you want your
Time of Update: 2018-12-04
1. 使用space添加空格,而不是tab.2. 匯入包的格式from myclass import MyClassfrom foo.bar.yourclass import YourClassYes: import os import sysfrom subprocess import Popen, PIPEno: import sys, os3.函數參數對齊Yes:# Aligned with opening delimiterfoo =