I have a use case where I’d like to store a handful of strings with static values, alongside my code that references them. The general reason for not hard coding them where they’re called, is that I’d like to make it easy for the end user to customize and modify them.
Are there any suggestions or comments about the best ways to do this? Storing them in a python file as vars seems reasonable. I’ve also considered saving them as JSON, though I don’t know if there’s any benefit to that in this case.
Thoughts are appreciated.
If you don’t care too much about how it looks then you could just straight up have a Python dictionary in a separate file then just import it into main code.
If you want something more formal looking (or expect rather dumb users) then perhaps something like tkinter that draws default values from a file such as the above. Tkinter can enforce input types and such quite easily too.
I’m not familiar with tkinter. This is an amazing suggestion. If not for this particular use case, I very well may use it for a completely different one I still need a solve for. Thanks!
@wesker @lasagna customtkinter for visually better interface.
Note that by messing with a particular module’s
__path__
you can turn it into a “package” that loads from arbitrary directories.