簡體   English   中英

對於使用通用模塊的腳本,我應該在哪里放置輔助函數?

[英]Where should I put helper functions for scripts that utilize a common module?

我一直在開發一組Python腳本,為了簡化操作,使用我專門為這些腳本編寫的解析器來處理一組輸入文件。 該項目的設計通常如下所示:

/project/project/__init__.py
/project/project/parser.py
/project/project/helperfunctions.py
/project/preferences.ini
/project/script1.py
/project/script2.py

每個腳本都從helperfunctions.py調用某些函數來執行諸如讀取首選項文件之類的任務,否則這些代碼必須為每個腳本重復。 解析器根本不使用幫助器功能。

但是,現在我決定,我想將項目用於解析器本身,同時仍將腳本放在一邊。 所以現在項目看起來像這樣:

/project/scripts/preferences.ini
/project/scripts/script1.py
/project/scripts/script2.py
/project/parser.py
/project/setup.py

我認為這是一個更簡潔的設計,但是問題是我不確定將這些輔助函數放在哪里。 我提出的想法是:

  • 在解析器旁邊安裝setup.py安裝helperfunctions.py 我反對這樣做,因為輔助函數只是提供了與解析器無關的便捷方法。
  • 將輔助函數合並為解析器中的“隱藏”類。 出於與上述相同的原因,我對此表示反對。
  • 將輔助函數放到/project/scripts/ ,避開安裝。 我不喜歡這個主意,因為那會暗示helperfunctions.py是腳本本身。

解決此問題的最Pythonic方法是什么?

一種選擇是將輔助函數放在__init__.py ,因此您以后可以在解析模塊中調用它們嗎?

我不知道您的函數有多復雜……它們只是函數還是助手類?

思維方式是從用戶的角度(解析器和那些輔助函數的角度)。 您(或任何人)將如何調用這些函數?

暫無
暫無

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

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