Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

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

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
question from:https://stackoverflow.com/questions/65858127/mypy-subprocess-popen-item-none-of-optionaliobytes-has-no-attribute

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...