在 cookielib 文档中,cookielib 的定义。LWPCookieJar 是:
class cookielib.LWPCookieJar(filename, delayload=None, policy=None)
文件名是必需的参数。
但是在下面的python代码中,LWPCookieJar
没有参数,但仍然有效。
import cookielib
cookie = cookielib.LWPCookieJar()
谁知道为什么?
因为文档显然在撒谎。
cookielib.py
从_LWPCookieJar.py
导入LWPCookieJar
的定义,将其定义为:
class LWPCookieJar(FileCookieJar):
...
FileCookieJar
在cookielib.py
中定义为:
class FileCookieJar(CookieJar):
"""CookieJar that can be loaded from and saved to a file."""
def __init__(self, filename=None, delayload=False, policy=None):
...
所以filename
参数实际上是可选的(delayload
默认为 False
,而不是 None
(。