Pliki konfiguracyjne w Pythonie

Pliki konfiguracyjne w Pythonie
Marcin Marcin
  • Rejestracja:około 6 lat
  • Ostatnio:2 miesiące
  • 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?


Fan moderatora somekind
Althorion
Moderator C/C++
  • Rejestracja:prawie 10 lat
  • Ostatnio:dzień
  • Postów:1607
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:około 6 lat
  • Ostatnio:2 miesiące
  • Postów:610
0

Dlaczego nie powinienem stosować pliku json do przechowywania konfiguracji?


Fan moderatora somekind
Spine
  • Rejestracja:około 22 lata
  • Ostatnio:około 3 godziny
  • Postów:6685
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.


🕹️⌨️🖥️🖱️🎮
edytowany 4x, ostatnio: Spine
Arthan
Zresztą wystarczy spojrzeć na taką konfigurację projektu Django
Marcin Marcin
@Spine: Czy podasz inne przykłady wykonania w ten sposób konfiguracji?
Althorion
Moderator C/C++
  • Rejestracja:prawie 10 lat
  • Ostatnio:dzień
  • Postów:1607
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:ponad 4 lata
  • Ostatnio:prawie 4 lata
  • 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.