调用多个thrift接口ttypes冲突的问题
我有一个thrift文件,名为importservice.thrift
执行命令
#thrift --gen py importservice.thrift
生成了一个./gen-py/importservice目录
该目录下有一个ImportService.py文件
文件开头引入了
from thrift.Thrift import TType, TMessageType, TException, TApplicationException
import logging
from ttypes import *
from thrift.Thrift import TProcessor
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol, TProtocol
注意from ttypes import * 这行代码,它试图引入当前目录下的一个ttypes模块中的一个类, 我们假定为MyType1
同样,我还有另外一个thrift代码,他试图用
from ttypes import *
引入另外一个类MyType2,然后使用
但是发现这第二个thrift里面找不到MyType2类,那原因也很显然, 上面这行代码里面从ttypes里面没有找到MyType2这个类,
这是为什么?
一个猜想是,第一个thrift引入的时候已经引入了ttypes, 而这个是属于第一个thrift的ttypes,它里面肯定是没有MyType2的,而第二个thrift在试图引入ttypes的时候发现已经被import了,那自然不会再import一次。
而我的应用在thrift的代码如下:
sys.path.append('./gen-py/importservice')
from SenseWordServiceV2 import *
不能用这个方式,应该改成如下方式:
sys.path.append('./gen-py/importservice')
from importservice.ImportService import *
from importservice.ttypes import *
from importservice.constants import *
这样,在引入ttypes的时候,可以因为是从父模块里面引入的,而两个thrift的ttypes的父模块不同,所以两个thrift的ttypes就可以区分开了,不会发生名称冲突的问题
调用多个thrift接口ttypes冲突的问题相关推荐
- 【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )
文章目录 I . 接口总结 II . 接口声明 III . 接口实现 IV . 接口中的方法 V . 接口中的属性 ( 变量 / 常量 ) VI . 接口中的属性属性覆盖 ( 变量 / 常量 ) VI ...
- android不调用系统发送短信,android之两种方式调用短信发送接口
释放双眼,带上耳机,听听看~! 相信很多程序员在开发程序的时候都会遇到短信调用端口的情况,今天是技术狗小编为大家带来的关于android之两种方式调用短信发送接口,希望对你学习这方面知识有帮助! an ...
- python有道自动翻译_Python 调用有道翻译接口实现翻译
最近为了熟悉一下 js 用有道翻译练了一下手,写一篇博客记录一下,也希望能对大家有所启迪,不过这些网站更新太快,可能大家尝试的时候会有所不同. 首先来看一下网页 post 过去的数据 大家不难发现,我 ...
- python有道api-python 调用有道api接口的方法
初学python ,研究了几天,写了一个python 调用 有道api接口程序 效果看下图: 申明:代码仅供和我一样的初学者学习交流 申请很简单的 ps:审核不用花时间的,请勿滥用!! #-*- co ...
- python实现简单的api接口-简单实现Python调用有道API接口(最新的)
# ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...
- 【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )
文章目录 一.使用闭包创建接口对象 ( 接口中有一个函数 ) 二.使用闭包创建接口对象 ( 接口中有多个函数 ) 三.完整代码示例 一.使用闭包创建接口对象 ( 接口中有一个函数 ) 在 Groovy ...
- rtsp协议_如何在RTSP协议视频智能平台EasyNVR未登录的情况下调用通道直播的接口?...
原标题:如何在RTSP协议视频智能平台EasyNVR未登录的情况下调用通道直播的接口? TSINGSEE青犀视频云边端架构全线都提供了丰富的API接口,用户可以自由调用进行二次开发.在本文之前,我们博 ...
- php百度人脸识别做登陆,php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能...
博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PHP,需要的的可以去下载其他版本,以下是识别效果: 用户在开始 ...
- [转载]PSCAD调用MATLAB/SIMULINK之接口元件设计
原文地址:PSCAD调用MATLAB/SIMULINK之接口元件设计作者:luckyhappier 1)接口元件 接口元件包括Graphics,Parameters和Script.注意:变量要与DSD ...
最新文章
- 【青少年编程】绘制等腰直角三角形
- 崩溃重启_三星手机大量系统崩溃,黑屏乱码无限重启,三星用户一片哀嚎
- CDN(内容分发网络)技术原理(转)
- 使用SAP云平台的destination消费Internet上的OData service
- android设置window背景颜色,android – 设置标题背景颜色
- 鸿蒙轻内核源码分析:虚拟内存
- TextBox禁止手动输入但是允许刷卡输入
- 制作PC端的安装程序
- java 五大原则_面向对象五大原则
- Zabbix 如何动态执行监控采集脚本
- Ubuntu下c语言IDE学习
- zen-cart修改 zencart 模板修改
- 爱有很多种,但一不小心就会失去……
- Docker 与 K8S学习笔记(二十)—— 使用Downward API向容器注入Pod信息
- 东南大学计算机考研面试题,东南大学复试常问问题今天的模拟面试总结
- java newline_“\ n”和Environment.NewLine之间的区别
- 京东数据库智能运维平台建设之路
- “找不到存储过程’’ … 错误:2812”的解决方法
- Spark数据分析之第4课
- 数据库的增删改查的一个例题