我繼承了 Python 2.7 中的一個專案,該專案需要更新以與 Python 3.9 兼容,因為 AWS Lambda 已棄用對 Py 2.7 的支持
需要更新到3.9的代碼:
try:
from cStringIO import StringIO
except:
from StringIO import StringIO
在 AWS Cloudwatch 中,我通常會收到“無法匯入模塊”錯誤,我認為可能是因為這行代碼。
選項 1:我應該修改代碼使其顯示為:
try:
from io import StringIO
except:
from io import StringIO
選項 2:我是否應該修改代碼使其顯示為:
try:
from io import StringIO
except ImportError:
from cStringIO import StringIO
uj5u.com熱心網友回復:
在 Python 3 中你唯一需要的是
from io import StringIO
該io模塊替換了Python 2 中可用的StringIO和cStringIO模塊。
uj5u.com熱心網友回復:
來自用戶@chepner:“在 Python 2 中,人們會嘗試匯入速度更快的 cStringIO 模塊,必要時回退到速度較慢的純 Python 模塊。在 Python 3 中,只有一個面向用戶的 io 模塊。如果匯入它第一次失敗,第二次也會失敗。(如果失敗,那是你的 Python 安裝問題,超出了你的腳本處理范圍。)”
我的最終代碼將讀取
from io import StringIO
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/363610.html
