Есть ли способ просмотреть содержимое cPickle или Pickle без загрузки Python в Windows?
Я использую cPickle для сохранения наборов данных из каждого запуска программы. Поскольку мне иногда нужно видеть контур данных без запуска кода, я бы хотел, чтобы простой способ быстро просмотреть содержимое, просто дважды щелкнув файл. Я пытаюсь не загружать терминал и указывать python в файл каждый раз, просто для запуска некоторых print
script.
Я искал плагины Notepad ++, но ничего не нашел.
Есть ли простой способ сделать это? У кого-нибудь есть предложения?
Примечание. Я запускаю Windows 7.
Ответы
Ответ 1
Для Python 3.2 +/2.7 + вы можете просмотреть (__repr__
of) соленые огурцы из командной строки:
$ python -c "import pickle; pickle.dump({'hello': 'world'}, open('obj.dat', 'wb'))"
$ python -mpickle obj.dat
{'hello': 'world'}
Это должно быть легко интегрировать в оболочку Windows.
Ответ 2
Я действительно сомневаюсь, что есть способ сделать это, так как с помощью pickle
вы можете упаковать практически все. При рассыпке вам необходимо загрузить модули и т.д., Которые были загружены, когда объект был маринован. Другими словами, в целом, чтобы иметь возможность unpickle
что-то, python должен иметь возможность воспроизвести "среду" программы (или, по крайней мере, достаточно близкое приближение) - загруженные модули, классы в глобальном пространстве имен, и т.д. В общем, это невозможно без какой-либо помощи пользователя. Рассмотрим:
import pickle
class Foo(object): pass
a = Foo()
with open('data.pickle','wb') as f:
pickle.dump(a,f)
Теперь, если вы попытаетесь восстановить это в отдельном script, python не знает, как выглядит Foo
, и поэтому он не может восстановить объект (если вы не определите подходящий объект Foo
в что script). Это не процесс, который можно сделать без вмешательства человека.
Конечно, возможно, полезный частный случай, когда вы просто собираете встроенные объекты и вещи из стандартной библиотеки, может быть предпринято... но я не думаю, что вы могли бы написать общее расширение для разблокировки.
Ответ 3
Вы также можете создать псевдоним на своем терминале, например:
alias pvw="python -mpickle "
в моем случае:
pvw obj.dat
ID A_ID B_ID PAST_ID
0 20 1008 4771 425
1 20 2000 4771 425
2 20 2015 4771 425
Ответ 4
Есть хороший инструмент с пользовательским интерфейсом и опциями редактирования файлов Pickle.
Нажмите здесь