TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #397 · 12 ное.

Использование Pydantic сегодня стало нормой, и это правильно. Но иногда на ревью вижу, что используют его не всегда корректно. Например, метод BaseModel.model_dump() по умолчанию не преобразует стандартные типы, такие как datetime, UUID или Decimal, в простой сериализуемый для JSON вид. Тогда пишут кастмоный сериализатор для этих типов чтобы функция json.dump() не падала с ошибкой. import uuid from datetime import datetime from decimal import Decimal from uuid import UUID from pydantic import BaseModel class MyModel(BaseModel): id: UUID date: datetime value: Decimal obj = MyModel( id=uuid.uuid4(), date=datetime.now(), value='1.23' ) print(obj.model_dump()) # не подходит для json.dump # { # 'id': UUID('4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1'), # 'date': datetime.datetime(2025, 12, 12, 12, 12, 12, 111111), # 'value': Decimal('1.23') # } # добавляем свой кастомный сериализатор json.dumps(obj.model_dump(), cls=MySerializer) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2025-12-12T12:12:12.111111', # 'value': '1.23' # } В данном случае класс MySerializer обрабатывает datetime, UUID и Decimal. Например так: class MySerializer(json.JSONEncoder): def default(self, o): if isinstance(o, Decimal): return str(o) elif isinstance(o, datetime): return o.isoformat() elif isinstance(o, UUID): return str(o) return super().default(o) Специально для тех, кто всё еще так делает - в этом нет необходимости! Pydantic может это сделать сам, просто нужно добавить параметр mode="json". json.dumps(obj.model_dump(mode="json")) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2012-12-12T12:12:12.111111', # 'value': '1.23' # } #pydantic#libs

Резултати

Пронајдени 5 слични објави

Пребарај: #anywhere

当前筛选 #anywhere清除筛选
淡い夏の阁楼

@light_summer · Post #177 · 22.10.2023 г., 18:09

应用 :#Anywhere- 版本名 :2.5.5 版本号 :2050500 Mod 特性 : 1.使一些地方更 MD3 其余同上一版 注意事项 : 1.出现重大问题请安装回官方版本 2.MIUI 用户请不要安装, 因为预测性返回手势动画被 MIUI 砍掉了,而且 Android 13 的 MIUI 会有 bug 3.使用 aosp platform 签名, arm64 only MD5 :092ba6f76efc3383d60798db5522b324

Hashtags

淡い夏の阁楼

@light_summer · Post #176 · 21.10.2023 г., 07:29

应用 :#Anywhere- 版本名 :2.5.5 版本号 :2050500 Mod 特性 : 1.启用预测性返回手势动画,包括应用内 2.更新部分依赖 注意事项 : 1.出现重大问题请安装回官方版本 2.MIUI 用户请不要安装, 因为预测性返回手势动画被 MIUI 砍掉了, 而且在 Android 13 的 MIUI 会有 bug 3.使用 aosp platform 签名, arm64 only MD5 :d0722054867adef4173256f38fe2dd5c

Hashtags

Xposed框架频道

@xposedchannel · Post #5235 · 03.02.2026 г., 14:17

AnyWhere-虚拟定位模块 ─═━━━━━━━━━━━━━━━━═─ 作者:Hanasaki 简介: 安卓虚拟定位,基于位置模拟(需要root) 主要功能: 现代UI设计:基于Material Design 3设计规范,提供简洁、现代且丰富活力的生活体验。 暗黑模式:深度重构系统重构主题。 精准模拟:支持在地图上点选坐标任意进行模拟定位。 摇杆控制:悬浮摇杆,支持模拟步行、跑步、驾驶等不同速度的移动。 历史记录:自动保存历史定位记录;进入默认定位到上次的位置。 IP定位:支持通过IP地址获取经纬度并快速填充,简化坐标输入流程。 真实位置:同步手机物理运行,使模拟位置的方向随着手机转动而实时变化。 Mock隐藏:集成LSPod模块功能,模拟位置标记,绕过大部分应用的模拟位置检测。 使用方法: 开启开发者模式:前往系统设置开启“开发者选项”。 设置模拟应用:进入“开发者选项”->“选择模拟位置信息应用”,在列表中选中AnyWhere。 权限授予:首次启动时,请申请必要的定位和悬浮窗权限。 LSPod (任选):启用模块,勾选“系统框架”、“你的目标应用”,以防止位置模拟检测 更新日志: 添加了从IP获取经纬度的功能 #XP模块 #AnyWhere