Python 为什么cgi.FieldStorage的前两个参数是None?
在Python CGI环境中,我使用以下代码打印GET/POST请求中的值:Python 为什么cgi.FieldStorage的前两个参数是None?,python,python-3.x,cgi,Python,Python 3.x,Cgi,在Python CGI环境中,我使用以下代码打印GET/POST请求中的值: import cgi print(cgi.FieldStorage()) 输出为: FieldStorage(None, None, [MiniFieldStorage('name', 'john')]) 在这里,我为name参数提供了一个值'john',我得到了预期的结果 但为什么前两个值None?它们的用途是什么?它们持有什么?根据cgi.py模块的来源,方法是: def __repr__(self):
import cgi
print(cgi.FieldStorage())
输出为:
FieldStorage(None, None, [MiniFieldStorage('name', 'john')])
在这里,我为name
参数提供了一个值'john'
,我得到了预期的结果
但为什么前两个值
None
?它们的用途是什么?它们持有什么?根据cgi.py
模块的来源,方法是:
def __repr__(self):
"""Return a printable representation."""
return "FieldStorage(%r, %r, %r)" % (
self.name, self.filename, self.value)
name
和filename
都是可选值。对于字段存储
,将从内容处置
标题(如果有)自动设置
当使用dict
风格的方法(如keys
和\getitem\uuu
时,name
似乎被用作此字段存储的键
filename
由接受文件上载的CGI脚本使用
如果您得到一个MiniFieldStorage
(“在无法上传文件时使用”),它只是:
同上,减去文件名
字段。与字段存储
不同,它在\uuuuu init\uuuuu
中获取名称
的值,并且除了在\uuuu repr\uuuu
中重复它之外,对它不做任何操作。(它可能也被用作字典的钥匙……某处。)
坦率地说,这两个类的doc字符串比您在。(另外,FieldStorage
类做了很多不同的事情,难以用语言描述。)
def __repr__(self):
"""Return printable representation."""
return "MiniFieldStorage(%r, %r)" % (self.name, self.value)