我有一个自动化测试,它使用为文件夹创建屏幕截图的功能。该函数被多个截图实例调用。在每次测试运行时,都会创建一个新文件夹,所以我不关心计数器重置。为了反映这些屏幕截图的顺序,我必须想出可以按顺序排序的名称。这是我的解决方案:
def make_screenshot_file(file_name):
order = Counter().count
test_suites_path = _make_job_directory()
return make_writable_file(os.path.join(test_suites_path,'screenshot',file_name % order))
class Counter():
__counter_instance = None
def __init__(self):
if Counter.__counter_instance is None:
self.count = 1
Counter.__counter_instance = self
else:
Counter.__counter_instance.count += 1
self.count = Counter.__counter_instance.count
这对我来说可以。但我一直认为应该有一种更简单的方法来解决这个问题。在那儿?如果单例是唯一的方法,我的代码可以以任何方式优化吗?