首页 > 其他分享 >自动化脚本-社会信用代码生成

自动化脚本-社会信用代码生成

时间:2023-08-07 10:34:43浏览次数:33  
标签:脚本 代码生成 code random codes 自动化 codeDict administrative mod

import random
import string
def generate_uscc():
    
    department_codes = ["1", "5", "9"]
    department_code = random.choice(department_codes)


    category_codes = ["1", "2", "3", "9"]
    category_code = random.choice(category_codes)
    
    
    administrative_division_codes = ["110000", "120000", "130000", "140000", "150000", "210000", "220000", "230000", "310000", "320000", "330000", "340000", "350000", "360000", "370000", "410000", "420000", "430000", "440000", "450000", "460000", "500000", "510000", "520000", "530000", "540000", "610000", "620000", "630000", "640000", "650000", "710000", "810000", "820000"]
    administrative_division_code = random.choice(administrative_division_codes)
    
    test_str = '0123456789ABCDEFGHJKLMNPQRTUWXY'
    organization_code = ''.join(random.sample(test_str + string.digits, 9))
    sc =department_code + category_code + administrative_division_code + organization_code
    codeDict = {
        '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9,
        'A': 10, 'B': 11, 'C': 12, 'D': 13, 'E': 14, 'F': 15, 'G': 16, 'H': 17, 'J': 18, 'K': 19, 'L': 20, 'M': 21,
        'N': 22, 'P': 23, 'Q': 24,
        'R': 25, 'T': 26, 'U': 27, 'W': 28, 'X': 29, 'Y': 30};
    
    weights = ['1', '3', '9', '27', '19', '26', '16', '17', '20', '29', '25', '13', '8', '24', '10', '30', '28'];
    sum = 0
    
    for i in range(len(sc)):
        sum += codeDict[sc[i]] * int(weights[i]);
    
    mod = 31 - sum % 31
    
    
    def getKey(codeDict, mod):
        result = ''
        for key in codeDict:
            if codeDict[key] == mod:
                result = key
        if (len(result) != 0):
            return result
    mod_2 = getKey(codeDict, mod)
    # print(mod_2)
    return department_code + category_code + administrative_division_code + organization_code + mod_2


license = generate_uscc()
vars.put("licenseno_qy",license);

 

标签:脚本,代码生成,code,random,codes,自动化,codeDict,administrative,mod
From: https://www.cnblogs.com/duroheng/p/17610778.html

相关文章

  • 将Docker与DevOps文化结合:实现自动化、监控与日志管理
    引言:DevOps文化作为一种融合开发和运维的方法论,旨在加速软件交付和增强团队协作。而Docker作为一种轻量级、可移植的容器化技术,提供了快速部署和高度可扩展的解决方案。本文将深入探讨如何将Docker与DevOps文化结合,以实现自动化部署、高效监控和集中式日志管理,为现代软件开发与运维......
  • 软件测试|web自动化测试神器playwright教程(十九)
    前言我们日常工作中,经常会遇到我们的页面内容较多,一个屏幕范围无法完整展示内容,我们就需要滚动屏幕去到我们想要的地方,如下页面,我们想要在豆瓣首页,内容并不完整,如果我们想要直接点击电影模块中的选电影按钮,是需要往下滑动的。click点击操作如下图,我们要在豆瓣首页点击选电影......
  • 软件测试|web自动化测试神器playwright教程(十七)
    前言上篇文章我们介绍了使用playwright下载文件的方法,本篇文章我们将介绍使用playwright上传文件。上传文件是我们经常需要面对的场景,如果我们使用的是selenium,那我们的操作会比较复杂,因为有的文件上传是input控件,有些是需要我们直接传文件地址,一旦弹出文件选择框的话,selenium就......
  • 软件测试|web自动化测试神器playwright教程(二十)
    前言我们都知道,selenium可以实现Chrome浏览器的复用,绕过登录步骤,实现cookie的复用,playwright同样也可以实现该功能。环境设置我们在使用selenium进行浏览器复用时,需要提前将Chrome浏览器配置到我们的环境变量中,具体步骤如下:找到Chrome浏览器的安装路径,如下图:将'C:\Progra......
  • 软件测试|web自动化测试神器playwright教程(二十三)
    前言我们在进行web自动化时,经常遇到一些不好操作的元素,普通的元素定位和操作容易报错,如果我们使用的selenium的话,就可以使用selenium调用js脚本进行操作。在playwright中也有类似的方法,使用page.evaluate()执行JavaScript脚本。page.evaluate()和page.evaluate_handle()之间的......
  • 软件测试|web自动化测试神器playwright教程(二十二)
    前言工作和生活中,经常会遇到我们需要进行选择的情况,比如勾选,或者我们选择性别,男女两个性别总是不能同时选中的,比如我们在选择兴趣爱好时,我们可以选择多个自己感兴趣的话题,比如篮球足球电竞等话题。我们在执行自动化测试的过程中,必须要学会处理这样的情况。页面示例以下面的界面......
  • 软件测试|web自动化测试神器playwright教程(二十四)
    前言我们在使用selenium进行自动化测试的过程中,遇到输入框时,我们可以使用send_keys()输入内容,也可以使用键盘事件向输入框内输入内容,只是使用键盘事件时需要导入Keys,作为一款强大的工具,selenium有的功能,playwright也有,playwright同样可以使用键盘输入内容,本篇文章就来为大家介绍一......
  • 软件测试|web自动化测试神器playwright教程(二十五)
    前言鼠标为我们使用电脑提供了很多方便,我们看到的东西就可以将鼠标移动过去进行点击就可以打开或者访问内容,当页面内容过长时,我们也可以使用鼠标滚轮来实现对整个页面内容的查看,其实playwright也有鼠标操作的方法,本文我们就来介绍playwright的鼠标操作。鼠标操作Mouse鼠标操......
  • 软件测试|web自动化测试神器playwright教程(二十六)
    前言我们使用selenium进行元素拖拽时,通常要使用ActionChains来实现drag_and_drop的操作,playwright同样可以实现元素的拖拽和释放的操作。按住元素从页面的一个位置拖动到另外一个位置,有2种方式可以实现locator.drag_to(target:locator)先定位元素,调用drag_to方法到目标元素......
  • xml2yolo脚本
    xml2yolo脚本yolo所对应的格式是.txt,其中包含框的类别索引,中心点坐标,boundingboxs的宽,高。importxml.etree.ElementTreeasETimportpickleimportosfromosimportlistdir,getcwdfromos.pathimportjoinimportglobclasses=["crazing","inclusion","pa......