我想知道是否有人對編寫向後兼容的input()調用來獲取文件路徑有什麼建議?在Python中向後兼容的輸入調用
在Python 2.x中,raw_input對輸入如/ path/to/file的工作正常。在這種情況下使用輸入在3.x中工作正常,但由於eval行爲而在2.x中投訴。
一種解決方案是檢查的Python版本,基於版本,無論是input
或raw_input
映射到一個新的功能:
if sys.version_info[0] >= 3:
get_input = input
else:
get_input = raw_input
我敢肯定有一個更好的辦法來做到這一點,雖然。任何人有任何建議?
如果您正在編寫的代碼是在不使用2to3的情況下在Python 2和Python 3下運行,那麼您需要:http://pypi.python.org/pypi/six它已經爲您解決了許多類似問題。它也可以作爲解決這些問題的一個很好的例子(儘管事實上它並不適用於input())。 其他的方法是使用2to3。請參閱http://python3porting.com/strategies.html – 2011-05-03 12:25:59