python調試工具
1. python ide有哪些
1. Pyscripter
Pyscriptor是一個開源的Python集成開發環境,很富有競爭力,同樣有諸如代碼自動完成、語法檢查、視圖分割文件編輯等功能。
2. Wing
Wing是一個Python語言的超強IDE,適合做互動式的Python開發.Wing IDE同樣支持自動代碼完成、代碼錯誤檢查、開發技巧提示等,而且Wing IDE也支持多種操作系統,包括Windows、Linux和Mac OS X。
3. Emacs
Emacs是一個可擴展的文本編輯器,同樣支持Python開發.Emacs本身以Lisp解釋器作為其核心,而且包含了大量的擴展。
4. Pycharm
Pycharm是一個跨平台的Python開發工具,是JetBrains公司的產品.其特徵包括:自動代碼完成、集成的Python調試器、括弧自動匹配、代碼折疊.Pycharm支持Windows、MacOS以及Linux等系統,而且可以遠程開發、調試、運行程序。
5. Sublime Text
SublimeText也是適合Python開發的IDE工具,SublimeText雖然僅僅是一個編輯器,但是它有豐富的插件,使得對Python開發的支持非常到位。
6. Vim
Vim是一個簡潔、高效的工具,也適合做Python開發。
7. Komodo Edit
Komodo Edit是一個免費的、開源的、專業的Python IDE,其特徵是非菜單的操作方式,開發高效。
8. Eclipse with PyDev
Eclipse+PyDev插件,很適合開發Python Web應用,其特徵包括自動代碼完成、語法高亮、代碼分析、調試器、以及內置的交互瀏覽器。
2. 如何進行Python 調試器調試
本文首先介紹一下
Python 調試器
的歷史,總結了Python的強大之處和不足並且指出了與其他腳本語言,相比,以及Python語言與其他語言的優勢所在,下面進行學習介紹說明。
PyDev 就能顯示出一個超鏈接,這樣您可以在導入庫或函數的源代碼之間導航。請注意,為了在您自己的源代碼中跨模塊使用該特性(從一個模塊鏈接到另一個模塊),必須修改PYTHONPATH 環境變數。
在其中加入這些模塊,這樣 PyDev 就可以找到它們了。
Python 調試器
是最近才加入 PyDev 插件中的。要使用調試器,可在Python編輯器中想中斷的代碼行的左側點擊,設置斷點。
我在 feedparser.py 的 1830 行處設置了斷點。然後在 Navigator 視圖中選擇這個Python模塊,點擊右鍵,選擇「PythonDebug...」。這時將顯示與前面相似的一個啟動配置窗口。點擊 Debug 進入 Debug 視角,同時啟動調試器。 左上角的 Debug 視圖顯示當前正在執行的進程和線程,右上角的 Variables 視圖顯示當前運行域中的所有變數。
Python編輯器會顯示調試器目前停在哪條語句上,同時所有的輸出信息都顯示與 Console 視圖中。調試器可以通過 Debug 視圖底部的按鈕或 Run 菜單進行控制。 要運行剛剛在 Eclipse 中創建的啟動器,可選擇 Run External ToolspythonInterpreter。
Python解釋器的輸出顯示在 Console 視圖中。
3. pycharm是干什麼用的
PyCharm是一種Python IDE,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了櫻祥行一些高級功能。
PyCharm是一種Python IDE,帶有一整套可以幫助脊嘩用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用於支持Django框架下的專業Web開發。
玩電腦的注意事項:
關機後馬上啟動,這樣做對硬碟的損害會非常大,建議關機後一分鍾再啟動電腦。
開機箱蓋運行電腦,開機箱蓋確實可以讓cpu的溫度下降,但是會失宴悄去前後對流,空氣流不會再經過內存等配件,會使電路板等產生的熱量上升,影響電腦的壽命。
在鍵盤上飲食,很容易沾上水漬導致鍵盤不能正常使用,可以買個鍵盤的防護罩定期清理。
大力敲擊鍵盤,容易損壞鍵盤。
4. 有哪些值得推薦的 Python 開發工具
前提:用來做數據處理和相關的系統開發
剛學python時,面對簡陋的官方版idle和一大堆開發平台和發行版,不知道究竟如何下手。在進行多方嘗試後,我最後的選擇是Anaconda + Pycharm,用anaconda集成的ipython做工作台,做一些分析和小段程序調試的工作,用Pycharm寫相應腳本和程序包的開發。這兩個工具都是跨平台的,也都有免費版本。
具體來說Anaconda集成了幾乎所有我需要的包庫,包含了我整個工作流程,做數據分析的pandas\scipy\numpy、繪圖的matplotlib、讀寫Excel文檔的xlrd/xlwt,鏈接SQL資料庫的SQLalchemy、機器學習框架sklearn等。對於Anaconda集成的兩個工作平台,Spyder——一個類似於Matlab和Rstudio的IDE,是專注於面向數據的分析的,因為其特點也主要是數據區的存在,可以即時知道變數值的變化;Ipython——一個基於cell的shell界面,可以理解為python自帶shell的增強版,它將程序分成一塊一塊的cell,每個cell可以包含多條語句,可以單獨調試運行,並將結果保存在內存中,cell之間可以相互調用,並保持一定的相互獨立。
可以說有了anaconda自帶的這兩個工具,足夠做數據處理相關的工作了(本身anaconda就是一個為了數據科學而誕生的發行版),但如果涉及到腳本程序和包的開發,感覺spyder還是有點弱,在試過IDE,代碼編輯器(比如visual code、sublime等)+插件,這兩種方案後,我最後選擇了集成度更高的成熟IDE——Pycharm替換spyder作為主要的開發平台,看我頭像也可以知道我是一個噴氣大腦的死忠,他們家的IDE真的很好用~理由如下:
1、首先作為學生,可以通過e郵箱申請到Jetbrains全家桶,即便無法獲取授權,pycharm的community版本免費並且功能足夠
2、對於pycharm,可以方便快捷地切換python不同版本的解釋器,甚至可以安裝相同版本的python解釋器配置不同的開發環境,這可以解決有些包之間沖突的情況,也可以針對有些框架按需裝包;並且pycharm內置包管理,可以免去pip或者conda方式管理包。
3、pycharm這個IDE的顏色方案、拼寫補全、函數聯想、敬禪函數跳轉源代碼、斷點調試及debug等功能都讓我用的十分順手。
總之我現在的工作流程就是,先用對我需要的功能進行設計,而後在ipython界面下設計調試每個功能模塊,調試成功後放到pycharm中組合起來,寫成腳本文件,最後用pycharm做調試形成成品。
2017、10、25 補充:
Pycharm作帆和為IDE還有兩個功能值得使用,一個是可以結合unitest包做我們開發模塊的單元測試,另一個就是與svn、git等版本工具合作進態稿盯行我們程序的版本控制,此外,在最新版的pycahrm當中,除了左側折疊顯示程序層次,下方也有我們當前游標所在位置對應的層次,並可以方便進行跳轉。
總之,用pycharm寫python真是越用越順手~
5. pycharm是什麼
PyCharm是一種PythonIDE,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具。比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。
此外,該IDE提供了一些高級功能,以用於支持Django框架下的專業Web開發。
功能
1、編碼輔助和分析,包括代碼完成,語法和錯誤突出顯示,lint集成和快速修復。
2、項目和代碼導航:專門的項目視圖,文件結構視圖以及文件,類,方法和用法之間的快速跳轉
3、Python重構:包括重命名,提取方法,引入變數,引入常數,上拉,下推等。
4、支持Web框架:Django,web2py和Flask[僅專業版。
5、集成的Python調試器。
6、集成單元測試,逐行代碼覆蓋。
7、GoogleAppEnginePython開發[僅專業版]。
8、版本控制集成:帶有更改列表和合並的Mercurial,Git,Subversion,Perforce和CVS的統一用戶界面。
9、支持matplotlib,numpy和scipy等科學工具[僅專業版]。
插件
PyCharm提供了一個API,以便開發人員可以編寫自己的插件來擴展PyCharm功能。其他JetBrains IDE的幾個插件也可以與PyCharm一起使用。有超過1000個與PyCharm兼容的插件。
歷史
測試版於2010年7月發布,而1.0版則在3個月後發布。2.0版於2011年12月13日發布,3.0版於2013年9月24日發布,而4.0版於2014年11月19日發布。
PyCharm社區版是PyCharm的開源版本,於2013年10月22日上市。
6. Python滲透測試工具都有哪些
網路
Scapy, Scapy3k: 發送,嗅探,分析和偽造網路數據包。可用作互動式包處理程序或單獨作為一個庫
pypcap, Pcapy, pylibpcap: 幾個不同 libpcap 捆綁的python庫
libdnet: 低級網路路由,包括埠查看和乙太網幀的轉發
dpkt: 快速,輕量數據包創建和分析,面向基本的 TCP/IP 協議
Impacket: 偽造和解碼網路數據包,支持高級協議如 NMB 和 SMB
pynids: libnids 封裝提供網路嗅探,IP 包碎片重組,TCP 流重組和埠掃描偵查
Dirtbags py-pcap: 無需 libpcap 庫支持讀取 pcap 文件
flowgrep: 通過正則表達式查找數據包中的 Payloads
Knock Subdomain Scan: 通過字典枚舉目標子域名
SubBrute: 快速的子域名枚舉工具
Mallory: 可擴展的 TCP/UDP 中間人代理工具,可以實時修改非標准協議
Pytbull: 靈活的 IDS/IPS 測試框架(附帶超過300個測試樣例)
調試和逆向工程
Paimei: 逆向工程框架,包含PyDBG, PIDA , pGRAPH
Immunity Debugger: 腳本 GUI 和命令行調試器
mona.py: Immunity Debugger 中的擴展,用於代替 pvefindaddr
IDAPython: IDA pro 中的插件,集成 Python 編程語言,允許腳本在 IDA Pro 中執行
PyEMU: 全腳本實現的英特爾32位模擬器,用於惡意軟體分析
pefile: 讀取並處理 PE 文件
pydasm: Python 封裝的libdasm
PyDbgEng: Python 封裝的微軟 Windows 調試引擎
uhooker: 截獲 DLL 或內存中任意地址可執行文件的 API 調用
diStorm: AMD64 下的反匯編庫
python-ptrace: Python 寫的使用 ptrace 的調試器
vdb/vtrace: vtrace 是用 Python 實現的跨平台調試 API, vdb 是使用它的調試器
Androguard: 安卓應用程序的逆向分析工具
Capstone: 一個輕量級的多平台多架構支持的反匯編框架。支持包括ARM,ARM64,MIPS和x86/x64平台
PyBFD: GNU 二進制文件描述(BFD)庫的 Python 介面
Fuzzing
Sulley: 一個模糊器開發和模糊測試的框架,由多個可擴展的構件組成的
Peach Fuzzing Platform: 可擴展的模糊測試框架(v2版本 是用 Python 語言編寫的)
antiparser: 模糊測試和故障注入的 API
TAOF: (The Art of Fuzzing, 模糊的藝術)包含 ProxyFuzz, 一個中間人網路模糊測試工具
untidy: 針對 XML 模糊測試工具
Powerfuzzer: 高度自動化和可完全定製的 Web 模糊測試工具
SMUDGE: 純 Python 實現的網路協議模糊測試
Mistress: 基於預設模式,偵測實時文件格式和偵測畸形數據中的協議
Fuzzbox: 媒體多編碼器的模糊測試
Forensic Fuzzing Tools: 通過生成模糊測試用的文件,文件系統和包含模糊測試文件的文件系統,來測試取證工具的魯棒性
Windows IPC Fuzzing Tools: 使用 Windows 進程間通信機制進行模糊測試的工具
WSBang: 基於 Web 服務自動化測試 SOAP 安全性
Construct: 用於解析和構建數據格式(二進制或文本)的庫
fuzzer.py(feliam): 由 Felipe Andres Manzano 編寫的簡單模糊測試工具
Fusil: 用於編寫模糊測試程序的 Python 庫
Web
Requests: 優雅,簡單,人性化的 HTTP 庫
HTTPie: 人性化的類似 cURL 命令行的 HTTP 客戶端
ProxMon: 處理代理日誌和報告發現的問題
WSMap: 尋找 Web 伺服器和發現文件
Twill: 從命令行界面瀏覽網頁。支持自動化網路測試
Ghost.py: Python 寫的 WebKit Web 客戶端
Windmill: Web 測試工具幫助你輕松實現自動化調試 Web 應用
FunkLoad: Web 功能和負載測試
spynner: Python 寫的 Web瀏覽模塊支持 Javascript/AJAX
python-spidermonkey: 是 Mozilla JS 引擎在 Python 上的移植,允許調用 Javascript 腳本和函數
mitmproxy: 支持 SSL 的 HTTP 代理。可以在控制台介面實時檢查和編輯網路流量
pathod/pathoc: 變態的 HTTP/S 守護進程,用於測試和折磨 HTTP 客戶端
7. python如何一步步調試
裝個Pycharm
1 添加斷點
2 Debug下運行代碼:
3 F8:進行下一步操作
F7 :跳入下一個方法中
8. 有哪些值得推薦的 Python 開發工具
第一款:最強終端 Upterm
它是一個全平台的終端,可以說是終端里的IDE,有著強大的自動補全功能,之前的名字叫做:BlackWindow。有人跟他說這個名字不利於社區推廣,改名叫Upterm之後現在已經17000+Star了。
第二款:互動式解釋器 PtPython
一個互動式的Python解釋器,支持語法高亮、提示,甚至是VIM和emacs的鍵入模式。
第三款:包管理必備 Anaconda
強烈推薦:Anaconda。它能幫你安裝許多麻煩的東西,包括:Python環境、pip包管理工具、常用的庫、配置好環境路徑等等。這些小事情小白自己一個個去做的話,容易遇到各種問題,也容易造成挫敗感。如果你想用Python搞數據方面的事情,安裝它就可以了,它甚至開發了一套JIT的解釋器Numba。所以Anaconda有了JIT之後,對線上科學計算效率要求比較高的東西也可以搞定了。
第四款:編輯器 Sublime3
如果你是小白的話,推薦從PyCharm開始上手,但是有時候寫一些輕量的小腳本,就會想到輕量級一點的工具。Sublime3很多地方都有了極大的提升,並且用起來比原來還要簡單,配合安裝Anaconda或CodeIntel插件,可以讓Sublime3擁有近乎IDE的體驗。
第五款:前端在線編輯器 CodeSandbox
雖然這個不算是真正意義上的Python開發工具,但如果後端工程師想要寫前端的話,這個在線編輯器太方便了,節省了後端工程師的生命。不用安裝npm的幾千個包了,它已經在雲端完成了,才讓你直接就可以上手寫代碼、看效果。對於React、Vue這些主流前端框架都支持。
第六款:Python Tutor
Python Tutor是一個免費教育工具,可幫助學生攻克編程學習中的基礎障礙,理解每一行源代碼在程序執行時在計算機中的過程。通過這個工具,教師或學生可以直接在web瀏覽器中編寫Python代碼,並逐步可視化地運行程序。
第七款:IPython
如何進行互動式編程?沒錯,就是通過IPython。IPython相對於Python自帶的shell要好用的多,並且能夠支持代碼縮進、TAB鍵補全代碼等功能。如果進行互動式編程,這是不可缺少的工具。
第八款:Jupyter Notebook
Jupyter Notebook就像一個草稿本,能將文本注釋、數學方程、代碼和可視化內容全部組合到一個易於共享的文檔中,以Web頁面的方式展示,它是數據分析、機器學習的必備工具。
第九款:Pycharm
Pycharm是程序員常常使用的開發工具,簡單、易用,並且能夠設置不同的主題模式,根據自己的喜好來設置代碼風格。
第十款:Python Tutor
這個工具可能對初學者比較有用,而對於中高級程序員則用處較少。這個工具的特色是能夠清楚的理解每一行代碼是如何在計算機中執行的,中高級程序員一般通過分步調試可以實現類似的功能。這個工具對於最初接觸Python、最初來學習編程的同學還是非常有用的,初學者可以體驗一下。
9. 一名Python程序員會哪些好用的工具
很多Python學習者想必都會有如下感悟:最開始學習Python的時候,因為沒有去探索好用的工具,吃了很多苦頭。後來工作中深刻體會到,合理使用開發的工具的便利和高效。今天,我就把Python程序員使用頻率比較高的5款開發工具推薦給大家,希望對大家的工作和學習有幫助。
一、最強終端:Upterm
本來想推薦 fish 或者 zsh,但其實這兩個我也主要是貪圖自動補全這個特性。最近在用的這個 Upterm 其實很簡單好用,它是一個全平台的終端,可以說是終端里的 IDE,有著強大的自動補全功能。之前的名字叫 BlackWindow,有人跟他說這個名字不利於社區推廣,改名叫 Upterm 之後現在已經17000+ Star了。
二、互動式解釋器:Ptpython
一個互動式的 Python 解釋器。支持語法高亮、提示甚至是 vim 和 emacs 的鍵入模式。其實我們在課程里提供的在線終端也內置了 ptpython。
三、包管理必備:Anaconda
強烈推薦Anaconda ,它能幫你安裝好許多麻煩的東西,包括: Python 環境、pip 包管理工具、常用的庫、配置好環境路徑等等。這些事情小白自己一個個去做的話,容易遇到各種問題,帶來挫敗感。如果你想用Python搞數據方面的事情,就安裝它就好了,它甚至開發了一套JIT的解釋器Numba。所以 Anaconda有了JIT之後,對線上科學計算效率要求比較高的東西也可以搞了。
四、編輯器:Sublime3
小白的話當然還是推薦從PyCharm開始上手,但有時候寫一些輕量的小腳本,就會想用輕量級一點的工具。Sublime3很多地方都有了極大的提升,並且用起來比原來還要簡單。配合安裝Anaconda或CodeIntel插件,可以讓 Sublime擁有近乎IDE的體驗。
五、前端在線編輯器:CodeSandbox
雖然這個不算是真正意義上的Python開發工具,但如果後端工程師想寫前端的話,這個在線編輯器太方便了,簡直是節省了後端工程師的生命啊!不用安裝npm的幾千個包了,它已經在雲端完成了,采讓你直接就可以上手寫代碼、看效果。對於 React、Vue 這些主流前端框架都支持。算是一個推薦補充吧。