J'utilise cPickle pour enregistrer les ensembles de données de chaque exécution d'un programme. Étant donné que j'ai parfois besoin de voir le contour des données sans exécuter le code, je voudrais un moyen simple de visualiser rapidement le contenu en double-cliquant simplement sur le fichier. J'essaie d'éviter d'avoir à charger un terminal et à pointer python vers un fichier à chaque fois, juste pour exécuter un script print
.
J'ai cherché des plugins Notepad ++ mais je n'ai rien trouvé.
Existe-t-il un moyen simple de procéder? Est-ce que quelqu'un a des suggestions?
Remarque: j'exécute Windows 7.
Pour Python 3.2 +/2.7 +, vous pouvez voir (__repr__
's des) cornichons de la ligne de commande:
$ python -c "import pickle; pickle.dump({'hello': 'world'}, open('obj.dat', 'wb'))"
$ python -mpickle obj.dat
{'hello': 'world'}
Il devrait être facile de l'intégrer dans le shell Windows.
Je VRAIMENT doute qu'il existe un moyen de le faire car avec pickle
, vous pouvez emballer à peu près n'importe quoi. Lors du décrochement, vous devez être en mesure de charger les modules etc. qui ont été chargés lorsque l'objet a été décapé. En d'autres termes, en général, pour pouvoir unpickle
quelque chose, python doit être capable de reproduire "l'environnement" du programme (ou au moins une approximation suffisamment proche) ) - modules chargés, classes dans l'espace de noms global, etc ... En général, cela n'est pas possible sans l'aide de l'utilisateur.
import pickle
class Foo(object): pass
a = Foo()
with open('data.pickle','wb') as f:
pickle.dump(a,f)
Maintenant, si vous essayez de restaurer cela dans un script séparé, python n'a aucun moyen de savoir à quoi ressemble un Foo
et donc il ne peut pas restaurer l'objet (sauf si vous définissez un objet Foo
approprié dans ce script). Ce n'est pas vraiment un processus qui peut être fait sans intervention humaine.
Bien sûr, un cas spécial sans doute utile où vous ne faites que décaper des objets intégrés et des choses de la bibliothèque standard pourrait être tenté ... mais je ne pense pas que vous puissiez écrire une extension générale de décollage.
Vous pouvez également créer un alias sur votre terminal, par exemple:
alias pvw="python -mpickle "
dans mon cas :
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