Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么cgi.FieldStorage的前两个参数是None?_Python_Python 3.x_Cgi - Fatal编程技术网

Python 为什么cgi.FieldStorage的前两个参数是None?

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):

在Python CGI环境中,我使用以下代码打印GET/POST请求中的值:

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)