我有一个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冲突的问题相关推荐

  1. 【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )

    文章目录 I . 接口总结 II . 接口声明 III . 接口实现 IV . 接口中的方法 V . 接口中的属性 ( 变量 / 常量 ) VI . 接口中的属性属性覆盖 ( 变量 / 常量 ) VI ...

  2. android不调用系统发送短信,android之两种方式调用短信发送接口

    释放双眼,带上耳机,听听看~! 相信很多程序员在开发程序的时候都会遇到短信调用端口的情况,今天是技术狗小编为大家带来的关于android之两种方式调用短信发送接口,希望对你学习这方面知识有帮助! an ...

  3. python有道自动翻译_Python 调用有道翻译接口实现翻译

    最近为了熟悉一下 js 用有道翻译练了一下手,写一篇博客记录一下,也希望能对大家有所启迪,不过这些网站更新太快,可能大家尝试的时候会有所不同. 首先来看一下网页 post 过去的数据 大家不难发现,我 ...

  4. python有道api-python 调用有道api接口的方法

    初学python ,研究了几天,写了一个python 调用 有道api接口程序 效果看下图: 申明:代码仅供和我一样的初学者学习交流 申请很简单的 ps:审核不用花时间的,请勿滥用!! #-*- co ...

  5. python实现简单的api接口-简单实现Python调用有道API接口(最新的)

    # ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...

  6. 【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )

    文章目录 一.使用闭包创建接口对象 ( 接口中有一个函数 ) 二.使用闭包创建接口对象 ( 接口中有多个函数 ) 三.完整代码示例 一.使用闭包创建接口对象 ( 接口中有一个函数 ) 在 Groovy ...

  7. rtsp协议_如何在RTSP协议视频智能平台EasyNVR未登录的情况下调用通道直播的接口?...

    原标题:如何在RTSP协议视频智能平台EasyNVR未登录的情况下调用通道直播的接口? TSINGSEE青犀视频云边端架构全线都提供了丰富的API接口,用户可以自由调用进行二次开发.在本文之前,我们博 ...

  8. php百度人脸识别做登陆,php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能...

    博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PHP,需要的的可以去下载其他版本,以下是识别效果: 用户在开始 ...

  9. [转载]PSCAD调用MATLAB/SIMULINK之接口元件设计

    原文地址:PSCAD调用MATLAB/SIMULINK之接口元件设计作者:luckyhappier 1)接口元件 接口元件包括Graphics,Parameters和Script.注意:变量要与DSD ...

最新文章

  1. 【青少年编程】绘制等腰直角三角形
  2. 崩溃重启_三星手机大量系统崩溃,黑屏乱码无限重启,三星用户一片哀嚎
  3. CDN(内容分发网络)技术原理(转)
  4. 使用SAP云平台的destination消费Internet上的OData service
  5. android设置window背景颜色,android – 设置标题背景颜色
  6. 鸿蒙轻内核源码分析:虚拟内存
  7. TextBox禁止手动输入但是允许刷卡输入
  8. 制作PC端的安装程序
  9. java 五大原则_面向对象五大原则
  10. Zabbix 如何动态执行监控采集脚本
  11. Ubuntu下c语言IDE学习
  12. zen-cart修改 zencart 模板修改
  13. 爱有很多种,但一不小心就会失去……
  14. Docker 与 K8S学习笔记(二十)—— 使用Downward API向容器注入Pod信息
  15. 东南大学计算机考研面试题,东南大学复试常问问题今天的模拟面试总结
  16. java newline_“\ n”和Environment.NewLine之间的区别
  17. 京东数据库智能运维平台建设之路
  18. “找不到存储过程’’ … 错误:2812”的解决方法
  19. Spark数据分析之第4课
  20. 数据库的增删改查的一个例题

热门文章

  1. 今天没事做了个MBTI职业倾向测试
  2. 有序链表转换二叉搜索树
  3. for、while、do while 3种循环异同点
  4. python3 解析 base64 数据
  5. 修改Typora的快捷键【markdown软件】
  6. Android远程桌面助手之功能简介
  7. 在开启bin-log日志下Mysql报错
  8. centos下使用yum命令安装php mcrypt扩展
  9. 探秘Spring AOP(上)
  10. 接口测试-使用mock生产随机数据