Я создал небольшой скрипт python. Я сохранил файл pickle на Linux, а затем использовал его в Windows, а затем снова использовал его в Linux, но теперь этот файл не работает в Linux, но он отлично работает на окнах. Является ли это то, что python является платформой coss, но файл pickle нет. Есть ли какое-либо решение для этого?Является ли файл рассола python кросс-платформенным?
ответ
Пиренейский маринад прекрасно подходит для кросс-платформенного использования.
Это, вероятно, связано с различиями EOL (End-Of-Line) между Windows и Linux. Убедитесь, что вы открываете файлы рассола в двоичном режиме как при их записи, так и при их чтении, используя режимы open() «wb» и «rb» соответственно.
Примечание: Передача соленья между различными версиями Python может вызвать проблемы, поэтому постарайтесь иметь одну и ту же версию на обеих платформах.
'pickle' [гарантированно« обратно совместим »] (http://docs.python.org/2/library/pickle.html#relationship-to-other-python-modules). Я предполагаю, что это означает, что более новые версии будут читать соленые огурцы из более старых версий, но более старые версии, возможно, не смогут читать огурцы из более новых версий. – max
Вы можете использовать json
вместо pickle
. Если он может сохранить ваши данные, вы знаете, что это кросс-платформа.
Не downvoting, но использование json для этой ситуации кажется неловким. – ChristopheD
Это действительно зависит от того, что он спасает. Если это все списки чисел и строк, JSON замечательный. Если это словари и экземпляры классов, не так много. – steveha
Я сохраняю экземпляры классов – vikithakar
Возможно, вы не открываете файл в двоичном режиме? См. this stackoverflow question
Модуль pickle
supports several different data formats. Если вы укажете конкретный формат рассола вместо использования значения по умолчанию (0), вы можете столкнуться с кросс-платформенными проблемами двоичного файла. Вы можете использовать простые файлы рассола ASCII, указав протокол 0.
Pickle должен быть кросс-платформенным, существуют проблемы с версиями/протоколами (см. http://docs.python.org/library/pickle.html#data-stream-format), но в целом, если вы используете ту же версию python на своих окнах и unix-боксы, они должны быть совместимы.
Если вы используете рассол в качестве механизма передачи данных, вы можете рассмотреть вопрос о менее реализации конкретных форматов для хранения данных, таких как JSON, XML, CSV, YAML и т.д.
Одна интересной идеи в попробуйте PyON (Python Object Notation). Текущая версия, по-видимому, работает по крайней мере для простых случаев в соответствии с моими испытаниями. Однако, по-видимому, были некоторые разногласия в списках рассылки, является ли проект хорошей идеей.
- 1. Не удалось загрузить файл рассола
- 2. Ошибки рассола с Python 3
- 3. Python удалить запись из рассола сохраненных данных
- 4. Как изменить базу данных рассола в Python?
- 5. Варианты рассола
- 6. Рассола Импорт файла Ошибка
- 7. Могу ли я с помощью рассола правильно -Python
- 8. Является ли каждый файл в Python модулем?
- 9. Является ли файл Python File реальным файлом?
- 10. Является ли этот файл видео (Python)?
- 11. Элементов рассола Python, кажется, не хватают
- 12. Об ошибках рассола
- 13. Эквивалент рассола в Julia
- 14. Как назначить имя рассола динамически в Python?
- 15. Словарь рассола не обновляется - Python 3.4
- 16. Обычные прецеденты для рассола в Python
- 17. Могу ли я включить файл строк, который будет автозаполнен и кроссплатформенным (iOS/Android)?
- 18. ошибка рассола на искровом фильтре
- 19. Неисправность рассола Scala
- 20. Является ли синхронизация python?
- 21. Является ли Python многопроцессорной.
- 22. Является ли python zipfile потокобезопасным?
- 23. Стабильная сериализация python (например, проблемы с перемещением модуля рассола)
- 24. SQLAlchemy, определяющий типы рассола
- 25. Чтение файла рассола (PANDAS Python Data Frame) в R
- 26. Структура рассола и питона данных
- 27. Как загрузить объекты рассола с помощью JSON в Python 2.7?
- 28. Почему Python не включает функцию загрузки рассола из имени файла?
- 29. Файл открыт: Является ли этот плохой стиль Python?
- 30. Как проверить, является ли файл или папка архивом в python?
Python рассол, возможно, колючий. Проблемы с планшетами потенциально предотвратимы. Представьте возможное предложение по предотвращению проблем, пожалуйста. – aehiilrs