2013-08-29 68 views
0

我編寫了say模塊,使格式化打印更簡單,更直接。例如。擴展pylint來處理模板變量?

say("{len(items)} retrieved; {n_errors} encountered") 

而不是:

print("{0} retrieved; {1} encountered".format(len(items), n_errors)) 

那部分進行得很順利。但我喜歡運行pylint尋找陷阱和錯誤。不幸的是,許多數據值僅僅是爲了它們在輸出操作中的有用性而構造的,並且pylint不能「看見」在調用(或任何其他模板輸出機制)中使用的變量的真實使用。一波一波的W0612(未使用變量)警告可能會導致。

可以簡單地忽略評論,但似乎逆行。我寧願只是擴展pylint來理解say()模板中使用的變量實際上已被使用。

.../pylint/checkers/variables.py似乎是添加此檢查的地方,但我不熟悉代碼庫。有關如何註冊格式風格字符串中使用的變量的任何提示或建議的確可以正確使用?

+0

即使只是猜測'pylint'的操作,我會說它可能不會對字符串的內容做很多事情,甚至可能不太可能關心那些字符串中的格式模板,所以教它如何解析和分析這些將會是一個相當大的工作量。 – Marius

+0

bette問這個問題的地方是(Python)Code Quality郵件列表。信息可在http://mail.python.org/mailman/listinfo/code-quality –

回答

0

在「變量」檢查器,用於可變從self._to_consume[-1]列表中移除(self爲方格和[-1]因爲這是每函數變量列表的堆疊。

無論如何,亞歷克斯是正確的進一步討論這個主題應該是代碼質量的郵件列表

+0

謝謝。我會在那裏轉發 –