0
我正在使用Python文檔測試來處理Python 2和Python 3的代碼。除了使用包含字符串的numpy數組時,所有工作都很好。使用Python 3,以下是正確的:在Python 2和3中使用numpy數組進行文檔測試
>>> np.array(["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"]) # doctest: +NORMALIZE_WHITESPACE
array(['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep',
'oct', 'nov', 'dec'],
dtype='<U3')
使用Python 2,這個結果預計:
array(['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep',
'oct', 'nov', 'dec'],
dtype='|S3')
注意<U3
與|S3
差異。
有沒有簡單的方法來調整我的代碼,以便能夠在兩個Python版本中通過測試?我想做可能的租約侵擾性變化。由於doctests也針對用戶(所以他們可以看到如何使用代碼),我不希望太複雜或誤導性的代碼給他們錯誤的正確用法的印象。
我有一個類似的問題,我的解決方案是轉儲doctests。 – wim
相關:[是可移植的python 2/python 3可能的doctests?](http://stackoverflow.com/q/20805434/674039) – wim
謝謝。現在我已經改變了標題以提及numpy數組,以便它不會與鏈接問題重複。 –