diff --git a/Lib/pickle.py b/Lib/pickle.py
index 372d5b6..8732508 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -1322,4 +1322,26 @@
     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)
diff --git a/Misc/NEWS b/Misc/NEWS
index 2437614..5b18d62 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -473,6 +473,9 @@
 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.
