openweathermap.json
{ "coord": { "lon": 114.0683, "lat":22.5455 } , "weather":[ { "id": 803, "main":"Clouds", "description":"多云", "icon":"04d" } ], "base":"stations", "main": { "temp": 299.1, "feels_like":299.1, "temp_min":296.39, "temp_max":300.29, "pressure":1018, "humidity":79, "sea_level":1018, "grnd_level":1017 } , "visibility":10000, "wind": { "speed": 2.73, "deg":137, "gust":3.32 } , "clouds": { "all": 82 } , "dt":1702530001, "sys": { "type": 2, "id":2031340, "country":"CN", "sunrise":1702508106, "sunset":1702546869 } , "timezone":28800, "id":1795565, "name":"Shenzhen", "cod":200 }
# This is a sample Python script. # pip install requests # python.exe -m pip install --upgrade pip # pip install pandas # Press Shift+F10 to execute it or replace it with your code. # Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings. """ 程序原文件 © https://github.com/jksdou/tkinter-gui-application-examples pyinstaller -i heart.ico -D main.py 1.conda list 2.conda update conda 3.conda create -n geovindu #生成虚拟环境geovindu 4.activate geovindu #激活虚拟环境 5.conda install pyinstaller 6.pyinstaller -D main.py 生成后,再修改main.spec 文件,再操作第7步,此项目的已经修改好了。不用再修改 直接第7步,不需要第6步 执行这步,必须路径需要到此项目的根目录下,如执行: cd 7.pyinstaller main.spec python.exe -m pip install --upgrade pip pip install pymssql pip install pymysql pip install mysql-connector-python pip install pyodbc pip install DBUtils pip install xlrd pip install xlwt pip install xlutils pip install xlwings pip install XlsxWriter pip install openpyxl pip install pandas pip install pandasql pip install win32com pip install SQLAlchemy pip install pyspark pip install pyinstaller 打包执行exe文件的包 pip install fbs 打包库 pip install pdfplumber pdf pip install pillow image pip install zope.interface pip install pyzbar 二维码 pip install pyqrcode pip install qrcode win: Tkinter (自带) PyQT WxPython pip install ttkbootstrap pip install PyQt5 pip install PyQt5-tools pip install wxPython Web: Django Tomado Flask pip install sqlacodegen 使用逆向工程工具自动生成Sqlalchemy Mapping类 sqlacodegen mysql+mysqlconnector://root:password@localhost:3306/test --outfile geovindu.py # 将本地test数据库逆向生成到geovindu.py代码中 https://pillow.readthedocs.io/en/stable/ 九钟图片模式l,L,P,RGB,RGBA,CMYK,YCbCr,I,F pip install pillow json Serialization and Deserialization pip install marshmallow pip install jsonstruct pip install pykson """ import requests import base64 import BLL.BaiduAIPlant import json import pickle from typing import List from typing import Any from dataclasses import dataclass @dataclass class Clouds: all: int @staticmethod def from_dict(obj: Any) -> 'Clouds': _all = int(obj.get("all")) return Clouds(_all) @dataclass class Coord: lon: float lat: float @staticmethod def from_dict(obj: Any) -> 'Coord': _lon = float(obj.get("lon")) _lat = float(obj.get("lat")) return Coord(_lon, _lat) @dataclass class Main: temp: float feels_like: float temp_min: float temp_max: float pressure: int humidity: int sea_level: int grnd_level: int @staticmethod def from_dict(obj: Any) -> 'Main': _temp = float(obj.get("temp")) _feels_like = float(obj.get("feels_like")) _temp_min = float(obj.get("temp_min")) _temp_max = float(obj.get("temp_max")) _pressure = int(obj.get("pressure")) _humidity = int(obj.get("humidity")) _sea_level = int(obj.get("sea_level")) _grnd_level = int(obj.get("grnd_level")) return Main(_temp, _feels_like, _temp_min, _temp_max, _pressure, _humidity, _sea_level, _grnd_level) @dataclass class Sys: type: int id: int country: str sunrise: int sunset: int @staticmethod def from_dict(obj: Any) -> 'Sys': _type = int(obj.get("type")) _id = int(obj.get("id")) _country = str(obj.get("country")) _sunrise = int(obj.get("sunrise")) _sunset = int(obj.get("sunset")) return Sys(_type, _id, _country, _sunrise, _sunset) @dataclass class Weather: id: int main: str description: str icon: str @staticmethod def from_dict(obj: Any) -> 'Weather': _id = int(obj.get("id")) _main = str(obj.get("main")) _description = str(obj.get("description")) _icon = str(obj.get("icon")) return Weather(_id, _main, _description, _icon) @dataclass class Wind: speed: float deg: int gust: float @staticmethod def from_dict(obj: Any) -> 'Wind': _speed = float(obj.get("speed")) _deg = int(obj.get("deg")) _gust = float(obj.get("gust")) return Wind(_speed, _deg, _gust) @dataclass class OpenWeather: coord: Coord weather: List[Weather] base: str main: Main visibility: int wind: Wind clouds: Clouds dt: int sys: Sys timezone: int id: int name: str cod: int @staticmethod def from_dict(obj: Any) -> 'OpenWeather': _coord = Coord.from_dict(obj.get("coord")) _weather = [Weather.from_dict(y) for y in obj.get("weather")] _base = str(obj.get("base")) _main = Main.from_dict(obj.get("main")) _visibility = int(obj.get("visibility")) _wind = Wind.from_dict(obj.get("wind")) _clouds = Clouds.from_dict(obj.get("clouds")) _dt = int(obj.get("dt")) _sys = Sys.from_dict(obj.get("sys")) _timezone = int(obj.get("timezone")) _id = int(obj.get("id")) _name = str(obj.get("name")) _cod = int(obj.get("cod")) return OpenWeather(_coord, _weather, _base, _main, _visibility, _wind, _clouds, _dt, _sys, _timezone, _id, _name, _cod) def print_hi(name): # Use a breakpoint in the code line below to debug your script. print(f'Hi, {name} world,geovindu,涂聚文') # Press Ctrl+F8 to toggle the breakpoint. # Press the green button in the gutter to run the script. if __name__ == '__main__': print_hi('PyCharm,geovindu') #deserialization process: with open('openweathermap.json',encoding='utf-8') as json_file: data = json.load(json_file) print("data from file:") print(type(data)) root=OpenWeather.from_dict(data) print(root) print("湿度",root.main.humidity) print("天气:", root.weather[0].description) ''' jp="p.jpg" pl=BLL.BaiduAIPlant.AIPlant() asstoke =pl.getAccessToken(); ps=pl.getPlantPng(asstoke,"invoice/" +jp); print(ps); ''' # See PyCharm help at https://www.jetbrains.com/help/pycharm/
- Python Deserialization Objects json ofpython deserialization objects json java deserialization openweathermap objects number-of-buckets-specified 39 quot json_extract python the zen of deserialization deserialization webassembly polymorphic blazor binaryformatter deserialization serialization vulnerabilities deserialization insufficient python-json python json