djnago匹配{"urls": ["http://192.168.37.110:9000/models/d883d7223a8a2e532d37dc7b594f3f4e_808_lora.safetensors"], "error": ""}里面的url跟error,判断不是这2个格式就报错
时间: 2023-07-19 18:52:50 浏览: 150
好的,根据您的要求,我可以编写以下Python代码来实现您的需求:
import re
data = {"urls": ["http://192.168.37.110:9000/models/d883d7223a8a2e532d37dc7b594f3f4e_808_lora.safetensors"], "error": ""}
url_regex = r'^http[s]?://(?:[0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]{1,5}/models/[a-z0-9]+_[0-9]+_[a-z]+\.safetensors$'
if all(key in data for key in ("urls", "error")):
if isinstance(data["urls"], list) and isinstance(data["error"], str):
if all(re.match(url_regex, url) for url in data["urls"]):
print("数据格式正确!")
else:
print("urls中存在格式错误的url!")
else:
print("数据格式错误!")
else:
print("数据缺失urls或error!")
这段代码可以判断data
中是否存在urls
和error
两个键,且它们的类型分别为list
和str
。然后,使用正则表达式来判断urls
中的每个url是否符合指定的格式。如果urls
存在格式错误的url,或者data
的格式不正确,就会输出相应的错误提示。
相关推荐

















