本文目录一览:
python3校验一串数字是否是手机号
- 使用字符串的方式
iphone = '12345678910'
if iphone.startswith('1') and len(iphone) == 11 and iphone.isdigit():
# 则是正确手机号
- 正则表达式方式
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
:指定架构的数据类型,如string
、number
、object
、array
、boolean
、null
。object
:在 Python 中对应的是dict
类型。array
:用于有序元素,在 Python 中类似于list
或tuple
。
在 JSON 中通常有 2 种方式验证:
- 列表验证:任意长度的序列,其中每个元素匹配相同的模式。
- 元组验证:一个固定长度的序列,其中每个项目可能具有不同的模式。
针对每一个元素解释说明:
默认校验 schema 中设置的前 n 项。
将 items
关键字设置成一个数组,其中每个项目都是一个与文档数组的每个索引相对应的模式,也就是一个数组:
- 第一个元素模式验证输入数组的第一个元素。
- 第二个元素模式验证输入数组的第二个元素。
例如,在以下的模式中,
anyOf
关键字用于表示给定值可能对任何给定的子模式有效。第一个子模式需要一个最大长度为 5 的字符串。第二个子模式需要一个最小值为 0 的数字。只要一个值对这些模式中的任何一个进行验证,它就被认为整个组合模式有效。
{
"anyOf": [
{"type": "string", "maxLength": 5},
{"type": "number", "minimum": 0}
]
}
用于组合模式的关键字是:
$schema
关键字用于声明 JSON 片段实际上是 JSON 模式的一部分。它还声明了针对该模式编写的 JSON Schema 标准的哪个版本。
建议所有 JSON 模式都有一个 $schema
条目,该条目必须位于根目录下。因此,大多数情况下,您需要在架构的根目录下声明。