今天用 pycharm 運行 demo 的時候發(fā)現(xiàn)一個問題,當(dāng)運行以下代碼時,對象f的方法沒有提示:
from urllib import request
with request.urlopen('https://api.douban.com/v2/book/2129650') as f:
通過論壇求助知道了以下幾種方法:
-
使用注釋輔助推導(dǎo)類型
from urllib import request, parse from http.client import HTTPResponse with request.urlopen('https://api.douban.com/v2/book/2129650') as f: # type: HTTPResponse data = f.read() print('Status:', f.status, f.reason) for k, v in f.getheaders(): print('%s: %s' % (k, v)) print('Data:', data.decode('utf-8')) -
使用
assert isinstance()推導(dǎo)類型from urllib import request, parse from http.client import HTTPResponse with request.urlopen('https://api.douban.com/v2/book/2129650') as f: assert isinstance(f, HTTPResponse) data = f.read() print('Status:', f.status, f.reason) for k, v in f.getheaders(): print('%s: %s' % (k, v)) print('Data:', data.decode('utf-8'))