如图,如何基于Python,指定特定的序号index,得到对应的4个坐标值,返回用字典即可
2条回答 默认 最新
- 「已注销」 2022-04-29 16:02关注
from bs4 import BeautifulSoup import json # 测试 xml_file = """ <segementation_result> <frame index="1" rejected="false"> <point name="bl" x="123" y="467"/> <point name="tl" x="234" y="768"/> <point name="tr" x="234" y="77"/> <point name="br" x="724" y="775"/> </frame> <frame index="2" rejected="false"> <point name="bl" x="13" y="987"/> <point name="tl" x="33" y="578"/> <point name="tr" x="345" y="653"/> <point name="br" x="675" y="564"/> </frame> </segementation_result> """ # 定义函数 frame_index_value 的index值, xml_file def get_frame_point(frame_index_value: int, xml_file: str) -> dict: # 解析xml soup = BeautifulSoup(xml_file, "xml") # 定义字典 frame_points = {} for items in soup.find_all('frame'): # frame 对应的index当key frame_points[items.get("index")] = [] for item in items.find_all('point'): # 定义point字典 point = {} # point 对应的name当key, 值为列表, 存储, (x,y) point[item.get("name")] = (item.get("x"), item.get("y")) # 写入点值 frame_points[items.get("index")].append(point) # 返回 frame_index_value 对应的点 return frame_points.get(str(frame_index_value)) if __name__ == "__main__": print(get_frame_point(1, xml_file))
[{'bl': ('123', '467')}, {'tl': ('234', '768')}, {'tr': ('234', '77')}, {'br': ('724', '775')}]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度