使python代码与2.7和3.6+版本兼容-关于Queue模块

时间:2018-06-26 09:16:39

标签: python python-3.x python-2.7 python-import

我想通过python2.7以及python3.6版本制作一些我的通用代码。 以语法方式,它仅表示以下含义:将打印转换为以下类型的控制台:print "hello"print("hello"),这在两个版本中都是可以接受的。

仅在导入Queue模块的一个模块中发生此问题。
在Python2.7中:from Queue import Queue
在Python3.6中:from queue import Queue

尝试在import部分中执行以下操作:

try:  
    from Queue import Queue
except ImportError:
    from queue import Queue

会工作,但真的不优雅又丑陋,是否有任何使它更合理的想法?

2 个答案:

答案 0 :(得分:4)

实际上并不是那么糟糕的做法,可以在很多python模块中看到。当同时支持Python2和Python3时,six模块可以非常方便。

您可以使用六个导入队列。

from six.moves import queue

它将根据Python版本自动将您的导入代理到适当的位置。

答案 1 :(得分:0)

也许是以下情况:

while(!s.hasNextInt()) {
    System.out.println("Please Enter The Number");
}
int numberr = s.nextInt() ; 
if (!uname.equals("") && !pass.equals("")){
    System.out.println("logged in");
}