簡體   English   中英

程序化python源格式化程序

[英]Programmatic python source formatter

我有一大堆python代碼需要有一個符合pep8標准的樣式/格式。 pep8的變種有各種規則(比如同一個同事 ),但最難的是處理拆分太長的行並格式化修改后的代碼。

我已經查詢了這個問題:

  1. 蟒蛇-格式化工具
  2. 蟒蛇源,格式化,美化打印機

它們來自2009年和2010年。我希望從那時起開發出更好的工具。

我知道PythonTidy這是非常好的但是會讓很多代碼變得更糟,恕我直言。 Pylint檢測到格式錯誤但未更正它們。 Web服務與我的要求並不真正相關,因為我想要一個可以構建一部分的工具。

有沒有人有一個尚未涵蓋的建議? 謝謝。

另一個看起來相當不錯的人: autopep8

但請注意,盲目遵循PEP8中的所有慣例並非真正符合PEP8的精神。 來自PEP8本身:

但最重要的是:知道何時不一致 - 有時風格指南不適用。

PyCharm內置了這個功能,現在有一個免費的開源社區版本。 在其中打開文件,然后按Ctrl Alt L.

幸運的是,它不會自動將函數名和變量名重構為PEP8約定......這些必須與PyCharm的重命名功能一一進行。

PythonTidy似乎很好地分裂線http://www.lacusveris.com/PythonTidy/

谷歌的yapf運作良好。

這里有一個在線演示: yapf.now.sh

您可以將它集成到您​​的工作流程中,並在您在編輯器中保存文件時運行它,或者作為git precommit hook或類似的東西。

black是另一個有力的競爭者。 它的賣點是勉強可配置,所以你的團隊浪費了更少的時間來討論細節。

這里有一個在線演示: black.now.sh

附注: blackyapfautopep8都有python語言服務器插件,因此它們與包括atom和vscode在內的文本編輯器很好地集成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM