mypy [subprocess.Popen] `Item "None" of "Optional[IO[bytes]]" has no attribute "close"`

Viewed 742

mypy generates following warning Item "None" of "Optional[IO[bytes]]" has no attribute "close" for the p1.stdout.close()line. How can I fix this error?

#!/usr/bin/env python3

filename = "filename.py"
p1 = subprocess.Popen(["ls", "-ln", filename,], stdout=subprocess.PIPE,)
p2 = subprocess.Popen(["awk", "{print $1}"], stdin=p1.stdout, stdout=subprocess.PIPE)
p1.stdout.close()  # <== `Item "None" of "Optional[IO[bytes]]" has no 
                   #     attribute "close"`

close() is an abstractmethod() method in the typing.py file

@abstractmethod
def close(self) -> None:
   pass
0 Answers
Related