У меня есть простой код для загрузки сериализованного маринованного файла, который работал нормально до того, как я обновился до Macos Catalina. Теперь, когда я запускаю код в консоли iPython в Spyder, консоль перезагружается в строке 1, все переменные очищаются, и сообщение об ошибке отсутствует. Вывод на печать после оператора загрузки также отсутствует.
Я пытался разделить код только на строки загрузки и включить другой код - ничего не работает. Если я закомментирую строку pickle.loads, все остальное будет работать как обычно. Но я не могу десериализовать поток байтов. попытка / исключение также не работает.
print('here') # This prints.
os.chdir(basedir+'Data/')
max_bytes = 2**31 - 1
bytes_in = bytearray(0)
input_size = os.path.getsize('[filename]')
with open('[filename]', 'rb') as f_in:
for _ in range(0, input_size, max_bytes):
bytes_in += f_in.read(max_bytes)
try:
tmp_df = pickle.loads(bytes_in)
except:
print('error') # This does not print.
print('loaded') # This does not print.
Я ожидаю сообщение об ошибке, если что-то не так, и исходные переменные, такие как max_bytes
, должны оставаться загруженными, но все они сбрасываются. Вместо этого:
In [1]: runfile('[file]', wdir='[dir')
here
In [1]:
Проводник переменных пуст, и при запросе имен переменных выдается NameError
.