2015-12-29 79 views
1

如何在運行腳本之前檢測是否已在Python腳本中初始化所有變量?理想情況下,我希望我的編譯器(當前Wing IDE)檢測錯誤,作爲構建/編譯過程的一部分。這是爲了防止由於簡單的錯誤導致加載數據等~30分鐘後程序崩潰。在運行腳本之前查找未初始化的變量

我知道Python可以用各種方式操作變量。但是,我的腳本通常很簡單,我不認爲這種方法是防彈的。

作爲示例,我希望使用錯誤檢測方法來查找簡單錯誤,例如下面的腳本中grocery_bill的拼寫錯誤。

prices = {'apple': 0.40, 'banana': 0.50} 
my_purchase = { 
    'apple': 1, 
    'banana': 6} 
grocery_bill = sum(prices[fruit] * my_purchase[fruit] 
        for fruit in my_purchase) 
print 'I owe the grocer $%.2f' % grocery_blil 
+0

Wing IDE不是已經做到了嗎? – Untitled123

+0

或許。我一直無法找到這樣做的選項。 – pir

+0

它不只是崩潰,並告訴你線路錯誤,當你這樣做? – Untitled123

回答

2

我現在可以想到兩個選項。

  1. PyLint

這個工具可以分析你的所有的源代碼,並嘗試檢測其中的錯誤可能會發生的地方。這應該檢測到你提到的那些東西。

  • PyCharm
  • 這是Jetbrains的一個IDE,你可以打開拼寫檢查所有的變量。雖然這並不能阻止錯別字的發生,但它確實使捕捉它們變得容易得多。

    如果你是學生,你可以免費獲得完整版本的PyCharm。

    +1

    我發現Wing IDE與PyLint集成在一起:http://www.wingware.com/doc/edit/pylint – pir

    +0

    是的,現在PyLint工具是這樣做的方式(通常在配置它不顯示許多不太有用的消息之後)。我們將嘗試添加在編輯器上即時顯示。這背後的歷史是我們更多地關注測試驅動和調試器驅動的開發,而不是像前期類似編譯器的行爲。但顯然這是一個應該添加的功能。 – Wingware

    +0

    哇........... – Untitled123