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.

  • @lasagna
    link
    English
    2
    edit-2
    1 year ago

    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.

    • Dr. WeskerOP
      link
      fedilink
      English
      21 year ago

      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!

    • @o11c
      link
      English
      11 year ago

      Note that by messing with a particular module’s __path__ you can turn it into a “package” that loads from arbitrary directories.