I am writing a flask application, and I have found I have have ton of generic utility functions.
Here are the examples of the type of functions that I consider generic utility functions:
def make_hash():
return defaultdict(make_hash)
def file_read(filename):
with open(file_name_, 'r') as f:
return f.read()
def file_write(filename, data):
with open(filename, 'w') as f:
f.write(data)
I was thinking of tossing these functions into a separate module all together. However, I am curious if I have the following concerns:
Question: - What would be the pythonic way of grouping generic utility functions? Should I create a separate module? Curious what others are doing for organizing this type of code.
I don't think it has much relation to Python, it's more a design decision.
For only these lines I would not make a separate module; however, if you use it 2 to 3 times I would not copy the code. If you later want to change something only one change is needed, keeping functionality consistent.
Also the methods seem to be very generic, so you could easily use them in other projects later.
And I assume you want to make them static (@static_method
).
What I mostly do is group generic utility classes by type, i.e. in your case one file for dictionaries (having 1 method) and one for file (having 2 methods). Later possibly more methods will be added but the functionality is grouped by type/usage.