我使用cPickle来保存每次运行程序的数据集。由于我有时需要在不运行代码的情况下查看数据的轮廓,因此我想通过双击文件来快速查看内容。我试图避免每次加载一个终端并将python指向一个文件,只是为了运行一些print
脚本。
我找了Notepad ++插件但找不到任何东西。
有一些简单的方法可以做到这一点吗?有没有人有任何建议?
注意:我运行Windows 7。
答案 0 :(得分:36)
对于Python 3.2 + / 2.7 +,您可以从命令行查看(__repr__
')泡菜:
$ python -c "import pickle; pickle.dump({'hello': 'world'}, open('obj.dat', 'wb'))"
$ python -mpickle obj.dat
{'hello': 'world'}
将它集成到Windows shell中应该很容易。
答案 1 :(得分:10)
我真的怀疑有任何方法可以做到这一点,因为使用pickle
,你几乎可以收拾任何东西。在取消打样时,您需要能够加载在对象被腌制时加载的模块等。换句话说,一般来说,为了能够unpickle
某些东西,python需要能够重现程序的“环境”(或至少足够近似) - 加载模块,全局中的类命名空间等...一般来说,如果没有用户的帮助,这是不可能的。考虑:
import pickle
class Foo(object): pass
a = Foo()
with open('data.pickle','wb') as f:
pickle.dump(a,f)
现在,如果您尝试在单独的脚本中恢复此功能,则python无法知道Foo
的外观,因此无法恢复该对象(除非您定义合适的Foo
该脚本中的对象)。这不是一个没有人为干预就可以完成的过程。
当然,一个可以说是有用的特殊情况,你只需要从标准库中挑选内置对象和东西......但我不认为你可以写一个普通的unpickler扩展。
答案 2 :(得分:1)
您还可以在终端上创建别名,例如:
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
答案 3 :(得分:1)
有一个不错的工具,带有UI和Pickle文件的编辑选项 Klick here