Sto lavorando su un piccolo progetto python e ho un file general_code.py dove ho le funzioni che uso nel progetto. Alcuni esempi:
def to_boolean(var):
return var in ['True', 'true', '1', 'y', 'Y' 'yes', 'Yes']
e.g 2
def get_last_line(in_file, block_size=128, ignore_ending_newline=False):
e.g 3
def signal_handler(log, self, signum, frame): # pragma: no cover
log.info("Ctrl + C pressed. Exiting application gracefully")
self.run = False
while threading.active_count() > 1:
time.sleep(1)
log.info("All threads closed. Exit.")
sys.exit(0)
per esempio 4.
class Timer(object): # pragma: no cover
def __init__(self, name=None):
self.name = name
def __enter__(self):
self.tstart = time.time()
def __exit__(self, type, value, traceback):
if self.name:
print('[%s]' % self.name,)
print('Elapsed: %s' % (time.time() - self.tstart))
e.g 5
def get_file_version(log, filename=None):
e.g 6
def setup_logger(filename):
È un buon design avere un posto così centrale per funzionalità comuni? Mi è servito bene, ma spesso idee che potrebbero essere grandiose in un piccolo ambito possono finire in progetti terribili o ambiti diversi. Quindi quale sarebbe un buon modo in Python per raggruppare le funzionalità comuni? Avere tutte le funzioni semplicemente in un file come faccio bene o sarebbe meglio metterle tutte in una classe o qualcosa di completamente diverso?