golang: 密码中允许出现数字、大写字母、小写字母、特殊字符,但至少包含其中2种且长度在8-16之间(四种符号任意满足三种即可) 要求: 密码中允许出现数字、大写字母、小写字母、特殊字符(.@$!%*#_~?&^),但至少包含其中2种且长度在8-16之间(四种符号任意满足三种即可)```python```gopackage mainimport ( "fmt" "regexp")// 密码校验规则: 必须包含数字、大写字母、小写字母、特殊字符(如.@$!%*#_~?&^)至少3种的组合且长度在8-16之间func VerifyPassword(minLength, maxLength int
sqlalchemy case when分组查询统计 1.需求根据过滤条件将设备按升级状态分组,统计总数和各个状态的数量。2.原始数据3.原生sql语句select count(*) as "total", sum(case when upgrade_status='failed' then 1 else 0 end) as "failed_count", sum(case when upgrade_status='unstarted' then 1 else 0 end) as "unstarted_count", sum(case wh
多线程、多进程守护工具 import osimport sysimport timeimport loggingimport threadingimport multiprocessingclass ThreadDaemonTool(object): """多线程守护工具""" def __init__(self, thread_info_list, interval=30, heart_period=5, event=None, logger=None): if not isin
pipenv的基本使用 1. 虚拟环境虚拟环境是用于依赖项管理和项目隔离的python工具,它可以将python程序和pip包管理工具安装在本地的隔离目录中(非全局安装)。在实际开发中,不同项目可能需要的python版本和项目的第三方依赖包的版本不同,因此需要使用到虚拟环境来管理不同的项目。2. pipenv简介pipenv发布于2017年1月,它是一种Python依赖管理工具,你可以把它看做是pip和virtualenv的组合体,它基于Pipfile的依赖记录方式,用于替代旧的记录方式requirements.txt。
python获取本机ip地址 windows和linux亲测可用import socketdef get_host_ip(): """ 查询本机ip地址 :return: ip """ try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('8.8.8.8', 80)) ip = s.getsockname()[0] finally: s
python设备分组(部门分组等)功能设计 1.数据库设计2.python获取设备分组树结构DATA = [{'group_id': 1, 'group_name': '桂妃山', 'parent_group_id': None, 'description': None, 'order_num': 1, "group_level": 1}, {'group_id': 2, 'group_name': '1栋1层', 'parent_group_id': 1, 'description': None, 'ord
python内置函数locals()与globals() 1.locals()与globals()在 Python 中字典对象是很重要的概念,因为 Python 程序运行中的各种变量名与变量值都统一存储于字典中进行管理。该字典的键由程序中变量名组成,而键值则是这些变量相对应的值,有时也被称为名字空间。一个 Python 程序中通常存在着多个名字空间,主要分为三大类:局部名字空间——当前函数或类的名字空间,记录了函数中的参数与函数内定义的变量。全局名字空间——模块的名字空间,包括了模块中定义的函数、类、导入的其它模块、常量和全局变量。内置名字空间——存放内
Flask-RESTful 的基本使用 1.flask-restful扩展的安装Flask-RESTful 是一个 Flask 扩展,它添加了快速构建 REST API 的支持。环境安装:(终端执行)pip install flask-restful2.官方文档:官方文档中文翻译3.构建RESTAPI使用 flask-restful 构建RESTAPI只需要进行三步操作3.1创建扩展/组件对象api = Api(app)3.2 定义类视图class UserAPI(Resource): pass3.3 组件添加
While creating remote tunnel for SshjSshConnection( @ )@5b2a882a: localhost:63342 == localhost:63342 现象:使用pycharm远程开发的时候运行项目报错:Error running 'manage.py': While creating remote tunnel for SshjSshConnection(<crc32=zb65bg>@<crc32=1ljowo7>)@18ad558d: localhost:63342 <== localhost:63342解决进行下面操作后正常:点击Help -> Find Action -> 输入 Registry
Ubuntu安装nodejs及nodejs升级 一、安装sudo apt-get install nodejssudo apt-get install npm二、查看是否安装成功及版本node -vnpm -v三、升级sudo npm install -g nsudo n stable # latest #(升级node.js到最新版) stable #(升级node.js到最新稳定版)node -vnpm -v我的输出searchstar@searchstar-mint19:~$ sudo n stable
剑指offer64-求1+2+3+…+n 题目:求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。Python代码def sum(n): count = n num = n and sum(n - 1) # python A and B, A为真返回B,A为假返回A return count + numprint(sum(100)) # 5050...
剑指offer63-求股票的最大利润(Python) 题目假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖交易该股票可能获得的利润是多少?例如一只股票在某些时间节点的价格为{9, 11, 8, 5, 7, 12, 16, 14}。如果我们能在价格为5的时候买入并在价格为16时卖出,则能收获最大的利润11。思路遍历每一个数字,并保存之前最小的数字,两者差最大即为最大利润。python代码stock1 = [12, 9, 7, 5, 2, 1]stock2 = [9, 11, 8, 5, 7, 12, 16, 14]def get_max
深圳2021.03.04python面试总结 1.redis非事务型流水线使用事务的其中一个好处就是底层的客户端会通过使用流水线来提高事务执行时的性能。使用非事务型流水线(non-transactional pipeline)同样可以获得相似的性能提升,并且可以让用户同时执行多个不同的命令。1.1 redis事务redis的事务是以特殊命令MULTI为开始,之后传入多个需要执行的命令,最后以EXEC为结束,开始执行.MULTI和EXEC也会消耗资源,并且可能会导致其他重要的命令被延迟执行。但也可以在不使用MULTI和EXEC的情况下,获得流水线带
pycharm2020.1在ubuntu18.04上的安装操作 1. 下载pycharm linux版本(本文在linux 2020.1版本测试)https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=linux2.移动tar.gz安装包到ubuntu18.04目录(例如/root/),解压tar -zxvf pycharm-professional-2020.1.tar.gz # 解压3.运行进到pycharm安装目录里面的bin目录运行pycharm, 例如
leetcode第589、590、429题——N叉树的前序遍历、后序遍历、层序遍历(python) 1.题目描述给定一个 N 叉树,返回其节点值的前序、后序、层序遍历。说明:树的深度不会超过 1000。树的节点总数不会超过 5000。例如,给定一个 3叉树 :2.python代码(迭代+递归)class Node(object): def __init__(self, val, children): self.val = val self.children = childrenclass Solution: def preorder
leetcode第144、94、145、102——二叉树的前序、中序、后序、层序遍历(递归+迭代) 1.问题描述如下的二叉树: 4 / \ 2 7 / \ / \ 1 3 6 8返回其前序遍历、中序遍历、后序遍历、层序遍历结果列表。前序:[4, 2, 1, 3, 7, 6, 8]中序:[1, 2, 3, 4, 6, 7, 8]后序:[1, 3, 2, 6, 8, 7, 4]层序:[4, 2, 7, 1, 3, 6, 8]2.代码(递归+迭代)# 如下的二叉树:# 4# / \# 2 7