python常用校验方法总结,python检验

发布时间:2022-11-20

本文目录一览:

  1. python3校验一串数字是否是手机号
  2. python怎么验证post数据有效
  3. py3笔记8:json结构的校验

python3校验一串数字是否是手机号

  1. 使用字符串的方式
iphone = '12345678910'
if iphone.startswith('1') and len(iphone) == 11 and iphone.isdigit():
    # 则是正确手机号
  1. 正则表达式方式
import re
iphone = '12345678910'
if re.match(r'1\d{10}', iphone).group():
    # 则是正确手机号

python怎么验证post数据有效

首先,python中请求参数是一个Dict。 urllib2 是 Python 的一个获取 URLs(Uniform Resource Locators)的组件。它以 urlopen 函数的形式提供了一个非常简单的接口。

import urllib, urllib2

GET方法:

对请求参数 dict 进行 urlencode,然后直接拼到请求的 url 中,获得带参数的 url。

req_url = url + '?' + urllib.urlencode(data)
resp = urllib2.urlopen(req_url)

POST方法:

需要使用 urllib2.Request 对 urlencode 后的参数和请求 url 连接起来。

req_url = urllib2.Request(url, urllib.urlencode(data))
resp = urllib2.urlopen(req_url)

我们使用 debug 来看下 request 中信息:

  • get 请求时,在 query_params 中可以看到请求的参数。
  • post 请求时,在 _data, _full_data, data 中都可以看到请求的参数。

GET:

request.query_params
request.query_params.get('industry_id')
request.REQUEST.get('industry_id')

POST:

request._data
request._full_data
request.data
request.data['industry_id']
request.data.get('industry_id')
request._data['industry_id']
request._data.get('industry_id')
request._full_data['industry_id']
request._full_data.get('industry_id')

py3笔记8:json结构的校验

Python 中使用 json 模块实现 Python 对象与 JSON 的转换。 要处理的是文件而不是字符串,你可以使用 json.dump()json.load() 来编码和解码 JSON 数据。 Json Schema 是一个用于验证 JSON 数据结构的强大工具。

使用范围:

  • 接口测试中数据值校验
  • 数据类型校验
  • JSON 数据结构校验

官网:

安装:pip install jsonschema

关键字说明:

  • type:指定架构的数据类型,如 stringnumberobjectarraybooleannull
  • object:在 Python 中对应的是 dict 类型。
  • array:用于有序元素,在 Python 中类似于 listtuple

在 JSON 中通常有 2 种方式验证:

  1. 列表验证:任意长度的序列,其中每个元素匹配相同的模式。
  2. 元组验证:一个固定长度的序列,其中每个项目可能具有不同的模式。

针对每一个元素解释说明:

默认校验 schema 中设置的前 n 项。 将 items 关键字设置成一个数组,其中每个项目都是一个与文档数组的每个索引相对应的模式,也就是一个数组:

  • 第一个元素模式验证输入数组的第一个元素。
  • 第二个元素模式验证输入数组的第二个元素。 例如,在以下的模式中,anyOf 关键字用于表示给定值可能对任何给定的子模式有效。第一个子模式需要一个最大长度为 5 的字符串。第二个子模式需要一个最小值为 0 的数字。只要一个值对这些模式中的任何一个进行验证,它就被认为整个组合模式有效。
{
  "anyOf": [
    {"type": "string", "maxLength": 5},
    {"type": "number", "minimum": 0}
  ]
}

用于组合模式的关键字是: $schema 关键字用于声明 JSON 片段实际上是 JSON 模式的一部分。它还声明了针对该模式编写的 JSON Schema 标准的哪个版本。 建议所有 JSON 模式都有一个 $schema 条目,该条目必须位于根目录下。因此,大多数情况下,您需要在架构的根目录下声明。