diff --git a/pandas/_typing.py b/pandas/_typing.py index 837a7a89e0b83..0a40e342eb8e9 100644 --- a/pandas/_typing.py +++ b/pandas/_typing.py @@ -1,5 +1,5 @@ from pathlib import Path -from typing import IO, TYPE_CHECKING, AnyStr, Optional, TypeVar, Union +from typing import IO, TYPE_CHECKING, Optional, TypeVar, Union import numpy as np @@ -22,7 +22,7 @@ ArrayLike = TypeVar("ArrayLike", "ExtensionArray", np.ndarray) DatetimeLikeScalar = TypeVar("DatetimeLikeScalar", "Period", "Timestamp", "Timedelta") Dtype = Union[str, np.dtype, "ExtensionDtype"] -FilePathOrBuffer = Union[str, Path, IO[AnyStr]] +FilePathOrBuffer = Union[str, Path, IO] FrameOrSeries = TypeVar("FrameOrSeries", "Series", "DataFrame") Scalar = Union[str, int, float] diff --git a/pandas/io/common.py b/pandas/io/common.py index e01e473047b88..7e787554f3e1a 100644 --- a/pandas/io/common.py +++ b/pandas/io/common.py @@ -10,7 +10,7 @@ import mmap import os import pathlib -from typing import IO, AnyStr, BinaryIO, Optional, TextIO, Type +from typing import IO, BinaryIO, Optional, TextIO, Type from urllib.error import URLError # noqa from urllib.parse import ( # noqa urlencode, @@ -96,9 +96,7 @@ def _is_url(url) -> bool: return False -def _expand_user( - filepath_or_buffer: FilePathOrBuffer[AnyStr] -) -> FilePathOrBuffer[AnyStr]: +def _expand_user(filepath_or_buffer: FilePathOrBuffer) -> FilePathOrBuffer: """Return the argument with an initial component of ~ or ~user replaced by that user's home directory. @@ -126,9 +124,7 @@ def _validate_header_arg(header) -> None: ) -def _stringify_path( - filepath_or_buffer: FilePathOrBuffer[AnyStr] -) -> FilePathOrBuffer[AnyStr]: +def _stringify_path(filepath_or_buffer: FilePathOrBuffer) -> FilePathOrBuffer: """Attempt to convert a path-like object to a string. Parameters diff --git a/pandas/io/formats/format.py b/pandas/io/formats/format.py index 23c07ea72d40f..abe1bab3f57bb 100644 --- a/pandas/io/formats/format.py +++ b/pandas/io/formats/format.py @@ -469,7 +469,7 @@ def _get_formatter(self, i: Union[str, int]) -> Optional[Callable]: @contextmanager def get_buffer( - self, buf: Optional[FilePathOrBuffer[str]], encoding: Optional[str] = None + self, buf: Optional[FilePathOrBuffer], encoding: Optional[str] = None ): if buf is not None: buf = _stringify_path(buf) @@ -491,9 +491,7 @@ def write_result(self, buf: IO[str]) -> None: raise AbstractMethodError(self) def get_result( - self, - buf: Optional[FilePathOrBuffer[str]] = None, - encoding: Optional[str] = None, + self, buf: Optional[FilePathOrBuffer] = None, encoding: Optional[str] = None ) -> Optional[str]: with self.get_buffer(buf, encoding=encoding) as f: self.write_result(buf=f) @@ -861,12 +859,12 @@ def _join_multiline(self, *args) -> str: st = ed return "\n\n".join(str_lst) - def to_string(self, buf: Optional[FilePathOrBuffer[str]] = None) -> Optional[str]: + def to_string(self, buf: Optional[FilePathOrBuffer] = None) -> Optional[str]: return self.get_result(buf=buf) def to_latex( self, - buf: Optional[FilePathOrBuffer[str]] = None, + buf: Optional[FilePathOrBuffer] = None, column_format: Optional[str] = None, longtable: bool = False, encoding: Optional[str] = None, @@ -904,7 +902,7 @@ def _format_col(self, i: int) -> List[str]: def to_html( self, - buf: Optional[FilePathOrBuffer[str]] = None, + buf: Optional[FilePathOrBuffer] = None, classes: Optional[Union[str, List, Tuple]] = None, notebook: bool = False, border: Optional[int] = None,