python 端口掃描,[轉載] python 常用類庫!

 2023-11-19 阅读 36 评论 0

摘要:參考鏈接: 競爭性編程的Python輸入法 轉載自:http://fire01312.iteye.com/blog/703339? ? python 端口掃描、? ? Python學習? ? ? python線程??? ? ?On this page... (hide)? ? 1.? 基本安裝2.? Python文檔? ? ? 2.1?推薦資源站點2.2? 其他參考資料2.3? 代碼示

參考鏈接: 競爭性編程的Python輸入法

轉載自:http://fire01312.iteye.com/blog/703339?

?

python 端口掃描、?

? Python學習?

?

?

python線程???

? ?On this page... (hide)?

? 1.? 基本安裝2.? Python文檔?

? ? 2.1?推薦資源站點2.2? 其他參考資料2.3? 代碼示例 3.? 常用工具?

python 類,? ? 3.1? Python IDE3.2? 內置類庫使用參考3.3? 常用第三方類庫3.4? 其他東西3.5? 有意思的東西3.6? 普通但沒準有用的東西??

??

?

??

python代碼、? (Edit Section ↓)

??

? 1.? 基本安裝?

?http://www.python.org/ 官方標準Python開發包和支持環境,同時也是Python的官方網站;http://www.activestate.com/ 集成多個有用插件的強大非官方版本,特別是針對Windows環境有不少改進;?

python面向對象。?

??

? (Edit Section ↓)

??

python和java。? 2.? Python文檔?

?Python庫參考手冊Python Tutorial中文版Byte of Python 可以代替Tutorial使用,有中文譯版的入門書籍。Dive into Python 一本比較全面易懂的入門書,中文版翻譯最近進步為很及時的5.4了。英文版則正在寫針對Python 3.x的版本。?

? ?缺點是此書針對的Python版本比較陳舊,會給出一些過時的優化建議,建議同時閱讀賴勇浩的<Dive into Python>大補貼。《深入 Python 3》中文版 Python社區官方建議采用的Python編碼風格(啄木鳥社區上的中文譯文)。相關的代碼檢查工具,參考:用PEP 8檢查Python Coding風格。?

? ?Google SoC 建議的 Python 編碼風格 (Python 編碼風格指南中譯版(Google SOC))?

python3、? ? ?Google 原版的 Python 編碼風格指南 SoC 的那個指南基本上是在這個上面做的修改和增補。? Zoom.Quiet的文檔集(包括大量Python內容)豆瓣上的Python相關書籍推薦Pythonic到底是什么玩意兒?啄木鳥社區上的Python資源索引培訓素材:?

? ?簡單介紹類的可參考:IntroPy和在公司推廣python實際編程能力培訓可參考沈仙人對他公司內部的Python培訓素材:前言、基礎篇、面向對象、圖形界面編程、網絡編程??

?

??

python用什么框架?? (Edit Section ↓)

??

? 2.1?推薦資源站點?

?Parnassus山的拱頂 巨大的Python代碼庫,包羅萬象。既可以從上面下載代碼參考學習,同時也是與Python有關程序的大列表。Python號星際旅行船 著名Python社區,代碼、文檔、高人這里都有。faqts.com的Python程序設計知識數據庫 Python程序設計知識庫,都是與Python有關的程序設計問題及解決方法。啄木鳥 Pythonic 開源社區 著名的(也可以說是最好的)國內Python開源社區。賴勇浩推薦的幾個好玩又有難度的編程網站?

python庫大全、?

??

? (Edit Section ↓)

??

? 2.2? 其他參考資料?

?ZDNET文章:學習Python語言必備的資源各種實用代碼片段Python編程技巧筆記如何獲得Python腳本所在目錄的位置如何方便地給Python環境注冊新類庫Python幾種并發實現方案的性能比較Pythonic Web 應用平臺對比 現在個人對web.py(大致和KARRIGELL類似,都是類似于PHP那樣比較簡單的Python Web應用框架)和web2py非常感興趣。近來Zope社區又出現了repoze.bfg這個解決方案,于是做應用時可以自由選用Zope中的合適部分了( Zope 社區的另一個發展方向是Grok,目標是敏捷易用又強大)。另外還有Paste這樣的wsgi參考實現來幫助做自己的框架。在wxPython下進行圖像處理的經驗 (其實,僅使用wxPython也可以完成很多比較基礎的圖像處理工作,具體可以參照《wxPython in Action》一書的第12節)序列化存儲 Python 對象通過win32擴展接口使用Python獲得系統進程列表的方法py2exe使用中遇到的問題idle的中文支持問題?

?

??

? (Edit Section ↓)

??

? 2.3? 代碼示例?

?http://newedit.tigris.org/technical.htm Limodou的NewEdit編輯器的技術手冊,討論了一些關于插件接口實現、i18實現、wxPython使用有關的問題,值得參考。關于插件擴展機制:?

? ?A Simple Plugin Framework 講解了一種非常聰明而簡單的辦法來為代碼提供插件接口。如果參考Java社區的類似框架,則有Java Plug-in Framework (JPF)以及OSGi標準。另外limodou先生在Ulipad中實現插件和MixIn的機制也十分簡單有效,見[NewEdit]設計說明(一)--概述,當然在UliPad最新版本的代碼中對這個機制的實現又有實用的改進。(發布插件則有不少項目采用Python Eggs)比較復雜的應用程序則可以使用Zope Component Architecture這樣的機制來實現靈活易用的擴展接口(注意:zca雖然是Zope平臺的一個組成部分,但其自身是不需要依賴Zope平臺即可使用的)。??

?

??

? (Edit Section ↓)

??

? 3.? 常用工具?

?http://www.scons.org/ Java有Ant這個巨火的構建工具,Python的特性允許我們構建更新類型的構建工具,就是scons了。Python Sidebar for Mozilla FireFox的一個插件,提供一個用來查看Python文檔、函數庫的側邊欄。IPython 很好用的Python Shell。Easy Install 快速安裝Python模塊的易用性解決方案(使用這種方式發行的包通常以Python Eggs的格式被Easy Install自動處理)。有人推薦先用 virtualenv 建個虛擬python環境再使用 easy_install (之后就不用加 --prefix參數了)。?

? ?Mac下說setuptools版本過低的問題??

?

??

? (Edit Section ↓)

??

? 3.1? Python IDE?

? 我的IDE選擇經驗 其實我現在只用Vim和Pydev了?

?Pydev 基于Eclipse的,非常棒的Python環境,改進速度非常快,現在是我最喜歡的IDE。ulipad Python+wxPython實現的輕量級全功能跨平臺IDE,非常好用。做一些簡單小東西的時候我會用這個。Eric Python IDE 基于QT實現的非常不錯的跨平臺PYTHON IDE。支持調試,支持自動補全,甚至也支持重構。如果沒有ulipad,并且在我的gnome下基于QT的Eric界面別走形的話,我會選這個。Spyder 幾乎是個輕量化的 Eric ,也是基于 QT 和 QScintilla2 實現。它是科學計算包 python(x,y) (集成了科學計算常用的python第三方庫,有400多M)的一個組成部分。http://www.xored.com Trustudio 一個基于Eclipse的、同時支持Python和PHP的插件,曾經是我最喜歡的Python IDE環境,功能相當全了,不過試用時感覺有些細節不完善以致不大好用。http://www-900.ibm.com/developerWorks/cn/opensource/os-ecant/index.shtml 用 Eclipse 和 Ant 進行 Python 開發http://www.scintilla.org/ 同時支持Win和Linux的源代碼編輯器,似乎支持Python文件的編輯。http://boa-constructor.sourceforge.net/ 著名的基于WxPython的GUI快速生成用的Python IDE,但是開發進度實在太差了……http://pype.sourceforge.net/ 成熟的Python代碼編輯器,號稱功能介于EMACS和IDLE之間的編輯器。http://www.stani.be/python/spe SPE:號稱是一個Full Featured編輯器,集成WxGlade支持GUI設計。eggy 用Python和QT實現的Python IDE,據說輕量又好用~?

?

??

? (Edit Section ↓)

??

? 3.2? 內置類庫使用參考?

?Python正則表達式操作指南?

? ?為方便調試正則表達式,可以用KODOS(基于 PyQT )、kiki(基于 wxPython )、Pyreb(基于 wxPython )中的任何一個來輔助。我目前用的是 kiki,但最近它的官方網站登陸不上去,我從 Debian 包把它的源碼扒出來,應用了 stani 做的wxPython 2.8 兼容性補丁,并且用py2app把它封裝成 Mac 應用程序供 QuickSilver 調用。修改以后的源代碼包下載。??

?

??

? (Edit Section ↓)

??

? 3.3? 常用第三方類庫?

?NumPy Python的數學運算庫,有時候一些別的庫也會調用里面的一些功能,比如數組什么的;Pil Python下著名的圖像處理庫Pil;SimPy 利用Python進行仿真、模擬的解決方案;Matplotlib 據說是一個用來繪制二維圖形的Python模塊,它克隆了許多Matlab中的函數, 用以幫助Python用戶輕松獲得高質量(達到出版水平)的二維圖形;?

? ?Graphviz 與 Matplotlib 不同,這個東西能畫:有向圖、網絡結構、有限狀態機等等。本身不是 Python 實現的,但是能找到 Python 封裝。 Crypto python的加解密擴展模塊;Python for CJK 提供與python有關的CJK語言支持功能:轉碼、顯示之類。Psyco、Pyrex:兩個用于提高Python代碼運行效率的解決方案;如果對性能還不滿意,可以試試這樣:用 Python 寫自己的 C Module。Pyflakes、PyChecker、PyLint:都是用來做Python代碼語法檢查的工具。圖形界面開發庫:?

? ?wxPython 基于wxWindows的易用且強大的圖形界面開發包wxPython;wxPython發行版還自帶了PyCrust、PyShell、PyAlaCarte和PyAlaMode等幾個工具,分別是圖形界面Shell和代碼編輯器等,分別具有不同特點可以根據自己的需要選用。PyQt 一般認為綜合各平臺上的表現,PyQt比wxPython能提供更為可靠的表現,較少遇到稀奇古怪的Bug。只是Qt雖然LGPL了,可是PyQt對商業軟件仍然是收費的,Nokia剛開始做LGPL的Qt綁定——PySide,但是還談不上成熟。?

? ? ?在Mac上安裝PyQt的詳細步驟 PyQt在Win和Linux上都有可直接安裝的二進制包,只有Mac沒有。不過按照這篇文檔來做,也是不難(我已試過,一切靠譜)。 PyGtk Qt永遠的競爭者,在Win和Linux下表現都還不錯,Mac下新的本地化移植繞過了系統自帶的X11服務,性能大為提升,只是對輸入法和字體支持等還有欠缺。?

? ? ?先按照Building GTK-OSX安裝GTK-OSX,然后按照Gtk+ Python頁的說明安裝PyGtk即可,非常容易。? Tornado 非阻塞、高性能、可擴展的 Web Server 實現,源自FriendFeed。http://avc.inrim.it/html/ 比MVC模式更方便易用的開發框架,主要是幫助透明地完成界面控件與后臺數據之間的內容綁定。該框架支持GTK、QT、TK、wxWidgets等主要具有Python封裝的GUI開發框架。pygame 用Python幫助開發游戲的庫,也可以用這個來播放視頻或者音頻什么的,大概依靠的是SDL;py2exe win下將Python程序編譯為可執行程序的工具,是一個讓程序脫離Python運行環境的辦法,也可以生成Windows服務或者COM組件。其他能完成Python腳本到可執行文件這個工作的還有Gordon McMillan's Installer、Linux/Unix專用的freeze、Mac專用的py2app,另外setuptools可能也能幫上點。不過此類工具難免與一些模塊有一些兼容性的問題,需要現用現測一下。總之這個主題可以參考How to Distribute Commercial Python Applications。嵌入式數據庫:BerkeleyDB的Python版,當然還有其他的好多。PEAK提供一些用于實現自動化集群測試的重要基礎類庫,比如超輕量線程框架、分布式代碼執行等。?

? ?greenlet 是PEAK給出的一種進程內的線程模型實現,自稱是Stackless項目的副產品。其實這是一種偽線程,也就是說greenlet間切換需要明確指定下一步切換到哪塊指令繼續執行,而沒有被執行的代碼就被暫時掛起了。這里面greenlet間的執行順序是完全確定的,并且是非并發的,就不能解決長時間大量資源占用的操作會導致程序無響應的問題。但greenlet可以用來減少資源死鎖、互斥造成的資源消耗(代碼被阻塞時,可以切換先去執行其他未被阻塞的部分),因此用來響應按鈕點擊等是挺好用的。?

? ? ?greenlet 現在不再是 pylib 的組成部分了,而是一個獨立的名為 greenlet 的 pypi 包,可以通過 easy_install 安裝。 Eventlet 是基于 greenlet 完成的一個高并發網絡庫,提供“線程”池、消息隊列等許多非常方便的機制,比直接用 greenlet 要方便得多。并且 Eventlet 源自著名的虛擬現實項目——第二人生,是經過現實考驗的可靠解決方案。 Pyro 一個Python的分布式對象系統,提供面向對象風格的RPC功能。PycURL 傳說這是實現Python下多線程網頁抓取的效率最高的解決方案,本質是對libcurl C語言庫的封裝。其實Twisted也可以定制成為一個網頁抓取工具的。Protocol Buffers Google提供的高效數據序列化解決方案,比基于XML的數據序列化方案在數據大小和編解碼效率上都大約高一個數量級。當然,Google自己也說這種辦法也不是用哪都合適,一來Protocol Buffers不大適合用來處理格式化的文本,另一方面其本質是一個傳輸協議的生成語言,可能在傳輸的內容相對固定時,才值得專門生成一套這樣的解析器。pyinotify 利用操作系統自身提供的Notify機制以最高的效率監控文件變化。Scrapy 是一個網絡爬蟲框架,可以非常容易地通過定制規則得到所需的爬網器。基于 Twisted 實現。chardet 一個猜測網頁編碼(比如utf-8還是gb18030)的庫,會根據HTTP參數、HTML標簽、XML標簽中的相關聲明來進行猜測。另有一個非Python實現的Enca也可以提供類似的功能。JPype Python里調用Java類庫、Java代碼的橋接解決方案(因Limodou在ChinaUnix上提及而得知)。JPype使用要點μTidylib 著名html整理、排錯、自動修正工具HTML Tidy Library的Python封裝。通常在正式開始分析html之前,先用這個東西預處理一下,后面的工作會輕松、準確得多~Fudge 被HD的項目組認為是最好的Python Mock模塊(也即冒煙測試)。nose 測試腳本自動發現、自動執行輔助工具。文檔見nose documentation。Coverage.py Python 測試代碼覆蓋率統計工具,已經內置于 nose 。Heapy 對 Python 程序進行內存占用剖析的模塊,Guppy-PE 項目的組成部分之一,被 Scrapy 等項目用作內存泄露的調試工具。類似的還有:?

? ?PySizer,感覺已經太舊了。Dowser,和 Heapy 特點不太一樣,并且使用CheeryPy作為調試結果的輸出界面。 Gluttony Python 模塊之間依賴關系圖的自動生成工具。?

?

??

? (Edit Section ↓)

??

? 3.4? 其他東西?

?http://www.forum.nokia.com/main/0,,034-821,00.html Nokia居然發布了在Series 60系統上運行Python程序(圖形界面用wxPython)的庫,還有一個Wiki頁是關于這個的:http://www.postneo.com/postwiki/moin.cgi/PythonForSeries60 。Python4Symbian這個頁面是記錄的我的使用經驗。pyre:使用Python完成高性能計算需求的包,真的可以做到么?還沒研究。Parallel Python:純Python的并行計算解決方案。相關中文參考頁面Pexpect:用Python作為外殼控制其他命令行程序的工具(比如Linux下標準的ftp、telnet程序什么的),還沒有測試可用程度如何。pyjamas:Google GWT的Python克隆,還處在早期版本階段。Durus:Python的對象數據庫,當然也可以作為一種對象實例持久化的機制來使用;這是一個開源的純Python實現,并提供一個可選的C語言插件來大幅提高運行效率。?

? ?Missile DB:一種 Python 的、簡潔高效的 DBMS,自稱是Durus的一種衍生品,更能夠適應Stackless Python環境。同時也是并發性能極高的Eurasia3項目的一個子項目。 ey-lessql:收集的各種分布式鍵值數據庫的Python版驅動。如果不考慮Python驅動的問題,A Yes for a NoSQL Taxonomy是一個非常完整的非SQL數據存儲引擎列表。?

? ?NoSQL數據庫探討之一 - 為什么要用非關系數據庫?NOSQL Patterns目前我最感興趣的鍵值數據庫是MongoDB,有人認為它基本上已經可以替代MySQL所能提供的功能,并且性能更高!?

? ? ?Ming可能是類似 ORM 對關系數據庫所起作用的 MongoDB 的 Python 封裝?pymodels MongoDB 的輕量級 ORM 封裝,它本來是用于 Tokyo Tyrant 和 Tokyo Cabinet 的。? pyzmq:消息隊列 zerozmq 的 Python 封裝,基本上這是一個追求性能為主的消息隊列實現,全部數據在內存中保存。如果擔心數據持久化的問題,可以考慮RabbitMQ 等類似方案。另據傳聞,Twitter已經由RabbitMQ轉換到Kestrel。Mulib 和 restish 都是基于 Python 實現的 REST 風格網絡服務框架。Scapy:似乎是一個能夠控制底層網絡封包的交互式Python工具,對網絡協議分析應該很有用。?

?

??

? (Edit Section ↓)

??

? 3.5? 有意思的東西?

?Howie:用Python實現的MSN對話機器人。Cankiri:用一個Python腳本實現的屏幕錄像機。?

?

??

? (Edit Section ↓)

??

? 3.6? 普通但沒準有用的東西?

?pyForum:純Python實現的論壇程序中最接近實用程度的一個,基于web2py實現

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/181223.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息