Issue #28228: imghdr now supports pathlib
diff --git a/Lib/imghdr.py b/Lib/imghdr.py
index b267925..76e8abb 100644
--- a/Lib/imghdr.py
+++ b/Lib/imghdr.py
@@ -1,5 +1,7 @@
 """Recognize image file formats based on their first few bytes."""
 
+from os import PathLike
+
 __all__ = ["what"]
 
 #-------------------------#
@@ -10,7 +12,7 @@
     f = None
     try:
         if h is None:
-            if isinstance(file, str):
+            if isinstance(file, (str, PathLike)):
                 f = open(file, 'rb')
                 h = f.read(32)
             else:
diff --git a/Lib/test/test_imghdr.py b/Lib/test/test_imghdr.py
index b54daf8..476ba95 100644
--- a/Lib/test/test_imghdr.py
+++ b/Lib/test/test_imghdr.py
@@ -1,6 +1,7 @@
 import imghdr
 import io
 import os
+import pathlib
 import unittest
 import warnings
 from test.support import findfile, TESTFN, unlink
@@ -49,6 +50,12 @@
             self.assertEqual(imghdr.what(None, data), expected)
             self.assertEqual(imghdr.what(None, bytearray(data)), expected)
 
+    def test_pathlike_filename(self):
+        for filename, expected in TEST_FILES:
+            with self.subTest(filename=filename):
+                filename = findfile(filename, subdir='imghdrdata')
+                self.assertEqual(imghdr.what(pathlib.Path(filename)), expected)
+
     def test_register_test(self):
         def test_jumbo(h, file):
             if h.startswith(b'eggs'):