[英]How to divide Python files?
我正在使用Python構建CLI網絡抓取應用程序,該應用程序應為股票交易者收集數據。 它應該執行以下操作:
這些動作中的每一個都有其自己的含義。 同樣,所有這些操作都將由CLI觸發。
對我來說有意義的是,每個動作將被構造在一個單獨的.py文件中,每個文件可能只有一個類。
然后在main.py中將具有一個CLI類,該類可根據用戶的標志和參數啟動其他類。
您的整體方法是明智的; 但是很難看清實際代碼。
對於小型應用程序,將所有內容都放在一個源文件中沒有任何問題。 隨着應用程序的增長,如果它通過多個源文件或多個單獨導入的模塊來幫助您組織和讀取代碼,那是一件好事。 但是,Python中沒有任何內容可以指示何時(或是否)進行該轉換。
要考慮的其他事項:
您可以使用正確的CLI庫來簡化生活。 Fire( https://github.com/google/python-fire )是一個很好的工具,它會自動執行很多操作。 您可能會發現將所有類都放在一個文件中,或者只是將所有類導入到主文件中,這將為您提供良好的基本CLI。
如果您的CLI更復雜,請查看Click( https://click.palletsprojects.com/en/7.x/ )
Python處理項目結構中的導入的方式並不明顯。 這取決於您如何調用模塊/腳本(例如,在運行模塊時通過python -m MODULE
或import MODULE
語句運行的import MODULE
)在通過python /PATH/TO/SCRIPT.py
運行與腳本相同的代碼時通常會失敗python /PATH/TO/SCRIPT.py
。 在短篇文章中很難對此進行總結,但是它要求您了解如何將代碼打包為腳本,模塊,可單獨安裝的軟件包; 並要求您注意如何執行代碼。 當您剛接觸Python環境時,這通常很難學習。 我建議您閱讀諸如( https://click.palletsprojects.com/en/7.x/ )之類的教程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.