python3 封装接口

使用SWIG封装恒生极速UFT接口(Python3) 使用SWIG封装恒生极速UFT接口(Python3) 一、准备工作 参考资料 CTP Python API及Demo(利用Swig 封装)Windows版(traderapi),20191208,作者:景色正好。 Swig转换C++接口中文乱码解决方案,作者:景色正好 SWIG 简介PDF 官方教程 SWIG and Python    Demo只能登录一个账户、只有主线程运行,了解Python多线程可同步多项任务。 多任务也能使用异步实现。 景色大佬在优快云 阅读详情

注:本篇的代码和语法基于Python3.5环境,下面将用到Python 的Flask框架

封装接口主要讲静态接口(无参数传入)、动态接口(有参数传入,不同参数返回的信息不同)。针对动态接口有三种传参方式:key_value、json串和拼接方式入参

  • 一、封装成无参数传入的接口
    from flask import Flask,jsonify,request
    data = {'huhy':{'age':24,'sex':'女'},
            'liuer':{'age':12,'sex':'男'}
            }
    app = Flask(__name__)#创建一个服务,赋值给APP
    @app.route('/get_user',methods=['post'])#指定接口访问的路径,支持什么请求方式get,post
    #讲的是封装成一种静态的接口,无任何参数传入
    def get_user():#-----这里的函数名称可以任意取
        return  jsonify(data)#把字典转成json串返回
    
    app.run(host='0.0.0.0',port=8802,debug=True)
    #这个host:windows就一个网卡,可以不写,而liux有多个网卡,写成0:0:0可以接受任意网卡信息,
     通过访问127.0.0.1:8802/get_user,可返回data信息
    #debug:调试的时候,可以指定debug=true;如果是提供接口给他人使用的时候,debug要去掉
    接口返回的截图如下:



  • 二、有参数传入的接口
     1.通过key_value方式传参
    from flask import Flask,jsonify,request
    data = {'huhy':{'age':24,'sex':'女'},
            'liuer':{'age':12,'sex':'男'}
            }
    err = {'zz':404,
           'yy':502
           }
    app = Flask(__name__)#创建一个服务,赋值给APP
    @app.route('/get_user',methods=['post'])#指定接口访问的路径,支持什么请求方式get,post
    
    # key_values方式传参
    def get_user():
        username = request.form.get('username')#获取接口请求中form-data的username参数传入的值
        if username in data:#判断请求传入的参数是否在字典里
            return jsonify(data[username])
    #如果在的话,则返回data对应key的值转成的json串信息
        else:
            return jsonify(err[username])
    #如果不在的话,返回err对应key的value转成的json串信息
    
    app.run(host='0.0.0.0',port=8802,debug=True)
    #这个host:windows就一个网卡,可以不写,而liux有多个网卡,写成0:0:0可以接受任意网卡信息
    #通过访问127.0.0.1:8802/get_user,form—data里输入username参数,则可看到返回信息
    

    接口返回的截图如下:



    2.通过json串方式传参
    from flask import Flask,jsonify,request
    data = {'huhy':{'age':24,'sex':'女'},
            'liuer':{'age':12,'sex':'男'}
            }
    err = {'zz':404,
           'yy':502
           }
    app = Flask(__name__)#创建一个服务,赋值给APP
    @app.route('/get_user',methods=['post'])#指定接口访问的路径,支持什么请求方式get,post
    
    #json方式传参
    def get_ss():
        username = request.json.get('username1')#获取带json串请求的username参数传入的值
        if username in data:  # 判断请求传入的参数是否在字典里
            return jsonify(data[username])
    #如果在的话,则返回data对应key的值转成的json串信息
        else:
            return jsonify(err[username])
    #如果不在的话,返回err对应key的value转成的json串信息
    app.run(host='0.0.0.0',port=8802,debug=True)
    #这个host:windows就一个网卡,可以不写,而liux有多个网卡,写成0:0:0可以接受任意网卡信息
    #通过访问127.0.0.1:8802/get_user,form—data里输入username参数,则可看到返回信息
    接口返回的截图如下:



    3.请求链接直接拼接入参方式
    from flask import Flask,jsonify,request
    data = {'huhy':{'age':24,'sex':'女'},
            'liuer':{'age':12,'sex':'男'}
            }
    err = {'zz':404,
           'yy':502
           }
    app = Flask(__name__)#创建一个服务,赋值给APP
    @app.route('/get_user',methods=['post'])#指定接口访问的路径,支持什么请求方式get,post
    
    #请求后直接拼接入参方式
    def get_ss():
        username = request.args.get('username')#使用request.args.get方式获取拼接的入参数据
        if username in data:  # 判断请求传入的参数是否在字典里
            return jsonify(data[username])
    	#如果在的话,则返回data对应key的值转成的json串信息
        else:
            return jsonify(err[username])
    	#如果不在的话,返回err对应key的value转成的json串信息
    app.run(host='0.0.0.0',port=8802,debug=True)
    #这个host:windows就一个网卡,可以不写,而liux有多个网卡,写成0:0:0可以接受任意网卡信息
    #通过访问127.0.0.1:8802/get_user,form—data里输入username参数,则可看到返回信息

    接口返回的截图,如下:




    4.request.values.get()获取请求参数的方法,不仅支持获取连接拼接的参数,而且还能获取body form填入的参数

  • 未完待续


[OpenCV]使用霍夫变换精准检测圆形原理详解与代码实战 dp`是累加器分辨率与图像分辨率的反比,例如`dp=1`时累加器与图像具有相同的分辨率,`dp=2`时累加器分辨率为图像的一半;`HoughCircles`函数的返回值`circles`是一个包含检测到的圆的参数列表,每个圆的格式为`(x, y, r)`,分别代表圆心的x坐标、y坐标和半径。可以使用`cv2.circle()`函数在原图上绘制出检测到的圆,并使用`cv2.imshow()`或`cv2.imwrite()`显示或保存结果图像。霍夫圆变换是霍夫变换的一种扩展,专门用于检测图像中的圆形轮廓。 阅读详情

相关推荐

Python之接口开发

一、开发接口的作用   1、在别的接口没有开发完成的时候可以模拟一些接口以便测试已经开发完成的接口,例如假的支付接口,模拟支付成功、支付失败。   2、了解接口是如何实现的:数据交互、数据返回   3、开发给别人查看数据,避免其他人直接操作数据库 二、接口开发的步骤   1、实例化server   2、装饰器下面的函数变为一个接口   3、启动服务 三、开发一个简单的接口 ...

python学习者的博客 1096

ComfyUI 的 LoRA 训练:素材打标签与调优全攻略

标签是 LoRA 训练的"地基"——地基打不牢,后续调参再精细也难出好效果。记住:标签要"少而精",聚焦独特点,用触发词控效果。下一篇我们将讲解参数设置,让你的优质标签发挥最大价值~

2301_78150483的博客 3099

python封装举例_Python之封装

1、为什么要封装封装不是单纯意义的隐藏1:封装数据:主要原因是:保护私隐,明确区分内外。将数据隐藏起来这不是目的。隐藏起来然后对外提供操作该数据的接口,然后我们可以在接口附加上对该数据操作的限制,以此完成对数据属性操作的严格控制。classTeacher:def __init__(self,name,age):self.__name=nameself.__age=agedeftell_info(s...

weixin_39590566的博客 1339

Rust 与 Golang 深度对决:从语法到应用场景的全方位解析

Rust 定义函数以fn关键字开头,参数需明确指定类型,返回值类型紧跟在箭头->之后。// 定义函数add,接收两个i32类型参数a和b,返回i32类型结果,功能为两数相加a + bRust 和 Golang 各有千秋,在不同领域展现独特优势。Rust 凭借强大的内存安全与高性能,在系统编程、网络编程以及对内存安全和性能要求高的场景中表现突出;Golang 则以简洁语法和出色并发性能,在云计算、分布式系统、Web 开发等领域占据一席之地。

muyouking 1770

CloudCompare里那个CSF地面滤波插件,到底怎么用?手把手教你分离点云里的地面

本文详细介绍了如何在CloudCompare中使用CSF地面滤波插件分离点云中的地面数据。通过解析布料模拟滤波算法的核心参数,如布料刚度和网格分辨率,并提供不同地形(城市、丘陵、山地)的适配策略,帮助用户高效处理复杂点云数据。文章还包含实战案例和优化技巧,确保滤波结果的精度和可靠性。

weixin_42548708的博客 221

Python——使用Flask框架封装接口

Python——使用Flask框架封装接口 引言 Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。 简介 Flask 是一个简单且十分强大的

zjl0409的博客 7456

别再套用星形公式了!三角形接法PMSM的FOC控制,扇区判断与作用时间推导全解析

本文深入解析三角形接法永磁同步电机(PMSM)的FOC控制技术,重点探讨30度相位差对SVPWM扇区判断与电压矢量作用时间的影响。通过数学推导与实验验证,详细讲解修正后的扇区划分规则、作用时间计算公式优化方法,并提供可直接移植到STM32的代码实现,帮助工程师解决三角形接法特有的相电流重构与同步采样难题。

weixin_30689307的博客 469

手把手教你使用Flask框架构建Python接口以及如何请求该接口

Flask是一个轻量级的Web应用框架,基于Python编写,其核心思想是保持简洁,灵活性和易于扩展。

艰难困苦,玉汝于成。 1万+

从零学懂车载 TSN(二):802.1AS、Qbv、Qbu 是如何让 Ethernet “按时发送”的?

假设有两台设备: ECU A 认为: 但 Switch B 认为: 如果我们规定: 问题就来了。ECU:Switch:整个调度立即失效。因此 TSN 要做时间调度,第一件事就是:这就是:IEEE 802.1AS 定义时间敏感网络里的:工程中通常会看到:gPTP也就是:generalized Precision Time Protocol可以先简单理解成: 核心表达:所有 TSN 节点使用共同时间。后面抓包时你会经常遇到: 刚入门时不用急着研究每个 bit。先搞清楚它们解决什么问题。两个设备连接: A 需要知

struggle_22_58的博客 50

Autosar软件组件分析及ARXML文件分析

Autosar软件组件分析及ARXML文件分析

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 3601

python爬虫:multipart/form-data格式的POST实体封装与提交

在Python中,我们通常使用urllib2中提供的工具来完成HTTP请求,例如向服务器POST数据。通常情况下,所有的数据都会进行URL编码并将Content-Type设置为application/x-www-form-urlencoded。不过在一些特殊的情况下(例如服务器限制而不允许使用这种类型的数据提交)或者上传文件的时候,则需要用到multipart/form-data格式的POST提交...

weixin_30871701的博客 750

项目报告:基于Sentaurus TCAD的多沟道长度NMOS器件仿真、SPICE模型提取与环形振荡器电路验证

本项目基于Sentaurus TCAD工具,完成了从器件仿真到电路验证的全流程研究。首先构建了45nm、65nm和90nm三种沟道长度的NMOS器件,通过TCAD仿真分析了其电学特性,观察到明显的短沟道效应。随后提取了BSIM4 SPICE模型参数,并生成Hspice可用的模型文件。最后利用该模型设计了11级环形振荡器进行电路验证,证明了模型的实用性。研究结果表明,随着沟道长度缩短,器件性能虽有所提升,但短沟道效应导致关态电流显著增加,影响整体能效。本项目为纳米尺度MOSFET的建模与电路设计提供了完整的技

huanghm88的专栏 284

python3封装Api接口

python3封装Api接口 注:本篇的代码和语法基于Python3.5环境,下面将用到Python 的Flask框架 封装接口主要讲静态接口(无参数传入)、动态接口(有参数传入,不同参数返回的信息不同)。针对动态接口有三种传参方式:key_value、json串和拼接方式入参 一、封装成无参数传入的接口 from flas...

weixin_34122604的博客 4737

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

python3实现接口封装_python3之封装

一、封装的意义封装不是单纯意义的隐藏1.封装数据主要原因是:保护私隐,明确区分内外。将数据隐藏起来这不是目的。隐藏起来然后对外提供操作该数据的接口,然后我们可以在接口附加上对该数据操作的限制,以此完成对数据属性操作的严格控制。class Teacher:def __init__(self, name, age):self.__name = nameself.__age = agedef tell_...

weixin_39624606的博客 323

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python3实现接口封装_转-python3+requests:使用类封装接口测试脚本

前言:接口测试用例较多,我们不可能每个用例都写一次requests,get或者requests,post等,所以对共用方法要进行封装处理第一次修改:将get请求和post请求单独定义出来,使用过程中根据不同类型的请求直接调用对应的方法1 import requests2 import json34 def send_post(url,data,headers):5 response = r...

weixin_31978735的博客 369

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python3实现接口封装_Python接口测试结果集实现封装比较

Python接口测试结果集实现封装比较引言接口测试执行完后,我们需要进行断言,断言的主要目的是用代码来判断实际结果和预期结果是否一致,这跟手工测试中用肉眼去判断是一样的思路。既然这样,我们可以将已知的预期结果和未知的实际结果简单的封装成一个类,然后写一个比较的函数来判断,最后得到结果。知识点预热在讲代码之前,先了解一下python的运算符is和==。可能有些人经常用,但是却不知道是什么意思,知其然...

weixin_35067439的博客 396

用C为python3.1封装mysql接口(一)

3.1没mysql模块? 或者没找到。。。来了兴致,自己封装了下用C为python3.1写的mysql接口的胶水代码: /*main.cpp 指定编译为C代码,工程设置为dll,编译后得到的模块名.dll 修改为模块名.pyd*/ #include <Python.h> #include <mysql/mysql.h> struct my_sq...

weixin_30950237的博客 144

ubuntu22.04上用swig封装c++版本的ctp接口供python3调用

ubuntu22.04下用swig转换指定的ctp版本供python3调用

weixin_48434174的博客 460

python3读取excel方法封装_python3+pytest 接口测试:读取excel

进行接口测试时,会测单个接口的多种场景,这时我们通过加入excel进行维护。如果增加测试场景,只需要在对应excel表中维护即可新建读取excel表格的方法封装读取excel的方法用例中调用该方法,读取表格内容获取sheet表内容3.用例中使用表格数据用例中使用附上代码读取表格内容excel_list = read_excel.read_excel_sheet('./document/DNC系统....

weixin_39668199的博客 395

python封装c接口_用C为python3.1封装mysql接口(一)

/*main.cpp 指定编译为C代码,工程设置为dll,编译后得到的模块名.dll 修改为模块名.pyd*/#include#includestructmy_sqldata{MYSQL mysql_conn;//用于连接mysql的MYSQL_RES *mysql_result;//查询后的结果MYSQL_ROW curren_row; //当前行unsignedint num_row; ...

weixin_39608457的博客 243

python3+requests接口自动化-其他接口封装

基于登陆session会话的其他接口封装 1 from case.login import test_user_login 2 import unittest 3 import requests 4 from common.logger import Log 5 from config import cof 6 7 s = requests.Session() ...

weixin_30797027的博客 272

python封装api接口框架_python3封装Api接口

x01&period;Game&period;CubeRun&colon; 风一样的女子1.题解 小孩学英语比较有意思,Monkey three => 猴三,风一样的女子 => 风 Girl.诸如此类不是重点,重点是一花一世界,一草一天堂.花花草草,纷纷扰扰.大千世界,当别具 ...Hadoop学习14--Hadoop之一点点理解yarnyarn是一个分布式的资...

weixin_39562340的博客 497

python金融接口_QuantLib 金融计算——自己动手封装 Python 接口(3)

quantlib 金融计算——自己动手封装 python 接口(3)概述如何封装源代码?与前一篇文章中的情况不同,要封装的程序不是已经编译好的库文件,而是 c++ 源代码。swig 可以从源代码的层面封装 c++ 接口,一方面要提供头文件,告知 swig 类、函数等的声明;另一方面要提供源文件,让 swig 知道方法的实现,swig 会自动对源文件进行编译,并最终链接到生成的 python 接口中...

weixin_31874603的博客 402

3、Python接口自动化系列之unittest的封装使用

我们前面已经讲过了unittest的常用方法和结合ddt做数据驱动,接下来我们就剩下如何把前面用到的方法都封装起来然后放到框架中才算是框架中的一部分,之前写的都是像小学作文一样,流水仗,哈哈哈 好了接下来就开始搞如何封装吧 1、提到封装很多小伙伴就很怕,其实封装很简单的,就是我们把前面说到的一个个方法封装起来放在一个类中,当我们使用的时候直接调用这个类下面我们写好的一个个的方法就行,说到这可能还是很多小伙伴不懂,这不要紧,代码敲多了,自然而然的就懂封装思想了,所以不要把封装想的太难,这里就不要纠结会不会这

weixin_45608577的博客 1992
上一篇: python3的异常处理、操作excel和数据库
下一篇: python3 实现自动生成入账记录表
Test-huhy
博客等级 码龄12年 740粉丝 17原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值