]> granicus.if.org Git - python/commitdiff
Issue #9378: python -m pickle <pickle file> will now load and display
authorAlexander Belopolsky <alexander.belopolsky@gmail.com>
Tue, 27 Jul 2010 23:02:38 +0000 (23:02 +0000)
committerAlexander Belopolsky <alexander.belopolsky@gmail.com>
Tue, 27 Jul 2010 23:02:38 +0000 (23:02 +0000)
the first object in the pickle file.

Lib/pickle.py
Misc/NEWS

index 372d5b623ace4ac464f8b4ef0ed7d79ee33477ef..8732508ae2bab89cf9e4ab1f5a627617930cf9f8 100644 (file)
@@ -1322,4 +1322,26 @@ def _test():
     return doctest.testmod()
 
 if __name__ == "__main__":
-    _test()
+    import sys, argparse
+    parser = argparse.ArgumentParser(
+        description='display contents of the pickle files')
+    parser.add_argument(
+        'pickle_file', type=argparse.FileType('br'),
+        nargs='*', help='the pickle file')
+    parser.add_argument(
+        '-t', '--test', action='store_true',
+        help='run self-test suite')
+    parser.add_argument(
+        '-v', action='store_true',
+        help='run verbosely; only affects self-test run')
+    args = parser.parse_args()
+    if args.test:
+        _test()
+    else:
+        if not args.pickle_file:
+            parser.print_help()
+        else:
+            import pprint
+            for f in args.pickle_file:
+                obj = load(f)
+                pprint.pprint(obj)
index 24376143a4c637085ac6d7a25e57824b4edde369..5b18d627222f78f9d31160d99f17192d62434326 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -473,6 +473,9 @@ C-API
 Library
 -------
 
+- Issue #9378: python -m pickle <pickle file> will now load and
+  display the first object in the pickle file.
+
 - Issue #4770: Restrict binascii module to accept only bytes (as specified).
   And fix the email package to encode to ASCII instead of
   ``raw-unicode-escape`` before ASCII-to-binary decoding.