Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.0k 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 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

56.9k users

...