2016-08-16 63 views
0

我從家裏兩個我的工作電腦,並在工作中該計算機RDPS到一個服務器上運行同樣的非常小的Python腳本。服務器使用公司標準的Python 2,我一直在家裏使用Python 3。最近我決定使用相同的腳本在兩者上完成相同的工作。一切都是相同的,工作只是一個希望:蟒蛇Tkinter的進口便攜

from Tkinter import * 

和其他想要一個單一的字母大小寫轉換:

from tkinter import * 

如何使這種便攜式在同一個腳本不同的蟒蛇工作環境?我不想讓兩個腳本記住要留意。 這可能嗎?

+3

你導入線可以是內部的'嘗試/除ImportError'塊,或者你可以(使用'sys.version') – Frodon

回答

1

檢查Python版本,並根據情況處理:

import sys 

if sys.version_info[0] > 2: 
    from tkinter import * 
else: 
    from Tkinter import * 
1

2to3程序將執行程序的(一些,但並不總是完美的)翻譯到Python 3的竅門是把代碼寫在這樣一種方式,你的Python 2 確實成功(正確)得到轉化。

我建議你看一看python-modernize,這將有助於你保持兼容源。

0

或嘗試導入兩者:-)

try: 
    from tkinter import * 
except ImportError: 
    from Tkinter import * 
+0

你對此如何解決OP的問題闡述測試的Python版本? – brandonscript

+0

簡單。我沒有嘗試它(不是我的風格),但aliva的例子應該在任何環境下工作 - 如果在進口一個嘗試失敗,其他的嘗試應該工作。 –