Мы переносим код нашего проекта python из кода py2.7 в py3.7, так как часть кода процесса миграции должна быть совместима с версиями py27 и py37.
, чтобы стать совместимыми с обеими версиями, которые мыИспользуем шесть библиотек.Здесь я мог видеть неожиданное поведение Six.StringIO для чтения объекта Table, которое выдает ошибку, как показано ниже, но это нормально с модулем String.IO.StringIO py2.7. Пожалуйста, предложите подход, чтобы он работал в обоихверсии без каких-либо ошибок В соответствии с Python Doc: его псевдоним , Можете ли вы помочь мне понять это поведение.Спасибо
Вот пример кода для чтения объекта Table в py2.7: Мой вопрос здесь заключается в том, почему six.StringIO не способен генерировать экземпляр, подобный классу StringIO.StringIO py2.7
>> import StringIO
>> StringIO.StringIO(tableObj)
>> <StringIO.StringIO instance at 0x00000000000B2AFF>
>> from six import StringIO as StringIO
>> StringIO.StringIO(tableObj)
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
StringIO.StringIO(tableObj)
TypeError: StringIO() argument 1 must be convertible to a buffer, not Table
>>