美文网首页
Python.生成优惠券之base64的应用

Python.生成优惠券之base64的应用

作者: ZYiDa | 来源:发表于2018-01-29 11:24 被阅读46次

    如下代码:

    import base64
    
    sourcefilepath = "/Users/a1/Desktop/test.data"
    
    # id 用来验证优惠券
    # goods 用来查找商品
    coupon={
        'id':'10010',
        'goods':'0001',
    }
    
    # 创建优惠券码
    def create_coupon(idcode,goodscode):
        coupon['id'] = idcode
        coupon['goods'] = goodscode
        raw_str = ' '.join([k+':'+v for k,v in coupon.items()])
        raw_str_64 = base64.urlsafe_b64encode(raw_str.encode('utf-8'))
        coupon_code = raw_str_64.decode()
        return coupon_code
    
    # 保存优惠券码到本地
    def save_coupon(code):
        with open(sourcefilepath,'a+') as file:
            file.write(code+'\n')
    
    # 展示优惠券
    def show_coupon(code):
        print(code)
    
    # 解析优惠券
    def parse_coupon(code):
        parse_code = base64.urlsafe_b64decode(code.encode('utf-8'))
        print(parse_code)
    
    # 数据合成操作
    def all_gen_operations():
        for cc in range(1000,2000):
            code_str = create_coupon(str(cc),str(int(cc/2)))
            save_coupon(code_str)
            show_coupon(code_str)
            parse_coupon(code_str)
    """
    即使是一个打算被用作脚本的文件, 也应该是可导入的. 并且简单的导入不应该导致这个脚本的主功能(main functionality)被执行, 这是一种副作用. 主功能应该放在一个main()函数中.
    在Python中, pydoc以及单元测试要求模块必须是可导入的. 你的代码应该在执行主程序前总是检查 if __name__ == '__main__' , 这样当模块被导入时主程序就不会被执行.
    """
    if __name__ == '__main__':
        all_gen_operations()
    
    

    控制台输出

    aWQ6NTg2OS9nb29kczoyOTM0LjU=
    b'id:5869/goods:2934.5'
    aWQ6NTg3MC9nb29kczoyOTM1LjA=
    b'id:5870/goods:2935.0'
    aWQ6NTg3MS9nb29kczoyOTM1LjU=
    b'id:5871/goods:2935.5'
    aWQ6NTg3Mi9nb29kczoyOTM2LjA=
    b'id:5872/goods:2936.0'
    aWQ6NTg3My9nb29kczoyOTM2LjU=
    
    [Done] exited with code=null in 1.249 seconds
    

    相关文章

      网友评论

          本文标题:Python.生成优惠券之base64的应用

          本文链接:https://www.haomeiwen.com/subject/uohxzxtx.html