如下代码:
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
网友评论