Pliki konfiguracyjne w Pythonie

Pliki konfiguracyjne w Pythonie
Marcin Marcin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 610
0

Czy jest jakiś powszechnie stosowany format plików konfiguracyjnych stosowany w Pythonie?
Chodzi mi o konfigurację typu: katalogi zapisu, odczytu danych, dane statyczne itd

Używa się do tego plików json, yaml czy config?
Jakie są zasady? Obecnie mam konfigurację w pliku json jednak to chyba format do przechowywania danych a nie konfiguracji - czy powinienem stosować yaml?

Althorion
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1620
0

Ta, JSON jest raczej do transmisji danych między jedną aplikacją a drugą niż do edytowalnych configów. Do tych wolisz yamla czy tomla czy coś w ten deseń.

Na Linuksie i nie tylko obowiązuje standard XDG odnośnie folderów, z których powinieneś korzystać: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

Są biblioteki pythonowe które ogarną obie te rzeczy za Ciebie.

Marcin Marcin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 610
0

Dlaczego nie powinienem stosować pliku json do przechowywania konfiguracji?

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6964
4

Ja bym rozważył przechowywanie konfiguracji w pliku *.py.
Od razu mógłbym się odnosić do konfiguracji w kodzie aplikacji, bez jakiegoś dodatkowego parsowania.
I tak jeśli użytkownik by zrobił błąd w normalnym pliku konfiguracyjnym, to może wywołać błąd w programie, więc skrypt z konfiguracją pod tym względem jest akceptowalny.

Althorion
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1620
0

Dlaczego nie powinienem stosować pliku json do przechowywania konfiguracji?

Brakuje chociażby możliwości zakomentowania jakiejś linii. Nie jest to najgorszy możliwy wybór, ale do tego celu są lepsze.

RE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 66
0

Może pliki .env które mają postać par KLUCZ=WARTOŚĆ.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.