import os.path
class IdGenerator:
def __init__(self, padding=6):
self._pattern = '%%s%%0%dd' % padding
self._ids = {}
def get_id(self, type_=''):
if not self._ids.has_key(type_):
self._ids[type_] = 0
self._ids[type_] += 1
return self._pattern % (type_, self._ids[type_])
def get_prev(self, type_=''):
return self._pattern % (type_, self._ids[type_])
class FileNameGenerator:
def __init__(self, basename):
self._name, self._ext = os.path.splitext(basename)
self._idgen = IdGenerator(padding=3)
def get_name(self):
return self._get_name(self._idgen.get_id())
def get_prev(self):
return self._get_name(self._idgen.get_prev())
def get_base(self):
return self._name + self._ext
def _get_name(self, id_):
return '%s-%s%s' % (self._name, id_, self._ext)
文件路径:C:\Python26\lib\site-packages\robot\idgenerator.py
功能:生成id号和文件名,这个可以在很多程序通用。
类IdGenerator用来为不同类型产生id,id从1开始递增;这个类有点略显难懂。
模式self._pattern 中的'%%s%%0%dd' % padding 定义了缩进格式,如果填充padding为3,实际为:%s%03d
get_id根据上面的格式输出id,如果对应的类型id没有值,则在字典中初始化为0。再加1作为返回值。
get_prev取上一个id。不加加
类FileNameGenerator:
os.path.splitext拆分文件名和扩展名
阅读(20357) | 评论(0) | 转发(0) |