diff --git a/doc/source/whatsnew/v0.21.0.txt b/doc/source/whatsnew/v0.21.0.txt
index cc9ab81ce0955d..a1b455909a0188 100644
--- a/doc/source/whatsnew/v0.21.0.txt
+++ b/doc/source/whatsnew/v0.21.0.txt
@@ -126,6 +126,7 @@ Other Enhancements
- :func:`date_range` now accepts 'Y' in addition to 'A' as an alias for end of year (:issue:`9313`)
- Integration with `Apache Parquet `__, including a new top-level :func:`read_parquet` and :func:`DataFrame.to_parquet` method, see :ref:`here `.
- :func:`DataFrame.add_prefix` and :func:`DataFrame.add_suffix` now accept strings containing the '%' character. (:issue:`17151`)
+- :func:`read_csv` can now infer compression from non-string paths, such as a ``pathlab.Path`` objects (:issue:`17206`).
.. _whatsnew_0210.api_breaking:
diff --git a/pandas/io/parsers.py b/pandas/io/parsers.py
index 9c76d3126890c1..05a04f268f72b5 100755
--- a/pandas/io/parsers.py
+++ b/pandas/io/parsers.py
@@ -208,11 +208,11 @@
`_
for more information on ``iterator`` and ``chunksize``.
compression : {'infer', 'gzip', 'bz2', 'zip', 'xz', None}, default 'infer'
- For on-the-fly decompression of on-disk data. If 'infer', then use gzip,
- bz2, zip or xz if filepath_or_buffer is a string ending in '.gz', '.bz2',
- '.zip', or 'xz', respectively, and no decompression otherwise. If using
- 'zip', the ZIP file must contain only one data file to be read in.
- Set to None for no decompression.
+ For on-the-fly decompression of on-disk data. If 'infer' and
+ `filepath_or_buffer` is path-like, then detect compression from the
+ following extensions: '.gz', '.bz2', '.zip', or '.xz' (otherwise no
+ decompression). If using 'zip', the ZIP file must contain only one data
+ file to be read in. Set to None for no decompression.
.. versionadded:: 0.18.1 support for 'zip' and 'xz' compression.
diff --git a/pandas/io/pickle.py b/pandas/io/pickle.py
index 6f345092c514dc..143b76575e36ba 100644
--- a/pandas/io/pickle.py
+++ b/pandas/io/pickle.py
@@ -62,8 +62,8 @@ def read_pickle(path, compression='infer'):
File path
compression : {'infer', 'gzip', 'bz2', 'xz', 'zip', None}, default 'infer'
For on-the-fly decompression of on-disk data. If 'infer', then use
- gzip, bz2, xz or zip if path is a string ending in '.gz', '.bz2', 'xz',
- or 'zip' respectively, and no decompression otherwise.
+ gzip, bz2, xz or zip if path ends in '.gz', '.bz2', '.xz',
+ or '.zip' respectively, and no decompression otherwise.
Set to None for no decompression.
.. versionadded:: 0.20.0