如何用python生成一定规则的序列号?

在项目开发中经常需要生成一些唯一的序列号问题,那python生成一定规则的序列号如何写呢?可以多种方式,下面给出一些常用的序列号规则的例子:

1,生成含有前缀并至少带指定长度格式的序列号

格式:prefix_d0{output_len}1

python 复制代码
def create_sn(prefix, output_len=4):
    '''生成含有前缀并至少带指定长度格式的序列号,
    格式:prefix_d0{output_len}1'''
    if output_len < 1:
        output_len = 1
    sn = 0
    while True:
        sn += 1
        if len(str(sn)) > output_len:
            # 当大于指定位数时直接加上位数
            yield f'{prefix}' + str(sn)
        else:
            yield f'{prefix}' + '{:0{}}'.format(sn, output_len)

2,生成含有前缀带日期和尾长度格式的序列号,

格式:prefix_YYYYMMDD_HHMMSS_d0{output_len}1

python 复制代码
def create_sn2(prefix, output_len=4):
    '''生成含有前缀带日期和尾长度格式的序列号,
    格式:prefix_YYYYMMDD_HHMMSS_d0{output_len}1'''
    if output_len < 1:
        output_len = 1
    if not prefix:
        prefix = ''
    sn = 0
    while True:
        sn += 1
        if len(str(sn)) > output_len:
            sn = 0
        dt = datetime.datetime.now().strftime('%Y%m%d_%H%M%S')
        tmp = f'{prefix}{dt}'
        tmp = tmp + '{:0{}}'.format(sn, output_len)
        yield tmp

3,使用例子

python 复制代码
def main():
    '''主函数'''
    # excel_create(r'F:\appData', '', 'TB01', 'TB02', 'TB03')
    # excel_sheet_operate(r'F:\appData\20251207_211304.xlsx')
    sn = create_sn('TB', 4)
    sn2 = create_sn2('TB', 4)
    print(next(sn),'----',next(sn2))
    print(next(sn),'----',next(sn2))
    print(next(sn),'----',next(sn2))


if __name__ == '__main__':
    print('-' * 60)
    main()


'''
上面例子返回结果参考如下:
------------------------------------------------------------
TB0001 ---- TB20251208_2333570001
TB0002 ---- TB20251208_2333570002
TB0003 ---- TB20251208_2333570003
'''
相关推荐
墨笔.丹青19 小时前
基于QtQuick开发界面设计出简易的HarmonyUI界面----下
开发语言·前端·javascript
代码无bug抓狂人19 小时前
C语言之表达式括号匹配
c语言·开发语言·算法
Nebula_g19 小时前
线程进阶: 无人机自动防空平台开发教程(更新)
java·开发语言·数据结构·学习·算法·无人机
沐知全栈开发19 小时前
滑块(Slider)在网页设计中的应用与优化
开发语言
乔江seven19 小时前
【Flask 进阶】3 从同步到异步:基于 Redis 任务队列解决 API 高并发与长耗时任务阻塞
redis·python·flask
又见野草19 小时前
C++类和对象(下)
开发语言·c++
rit843249919 小时前
基于MATLAB的环境障碍模型构建与蚁群算法路径规划实现
开发语言·算法·matlab
pchaoda19 小时前
基本面因子计算入门
python·matplotlib·量化
lang2015092819 小时前
Java JSR 250核心注解全解析
java·开发语言
Wpa.wk20 小时前
接口自动化测试 - 请求构造和响应断言 -Rest-assure
开发语言·python·测试工具·接口自动化