我想从 HTML 表单中获取整数值,我使用了以下 python 代码:
form = cgi.FieldStorage()
if not form.has_key("id"):
error_pop("There is no id in this form","The format of the request is not correct")
id = form["id"].value (*)
在 HTML 文件中,我将输入类型设为number
:
id: <input type="number" name="id" /><br />
但是,我从 ( ) 行得到的 id 似乎*
仍然是一个字符串。
如何将其转换为整数?
我试过 use int(form["id"].value)
,但python给了我以下错误:
<type 'exceptions.TypeError'>
: %d 格式:需要一个数字,不是 str args = ('%d 格式:需要一个数字,不是 str',) message = '%d 格式:需要一个数字,不是 str'
所以,我放弃了使用int()
.
如果我在将其解析为 之前尝试打印该值int()
,那么我将从浏览器收到内部服务器错误。实际上,如果我更改 python 文件中的某些内容,我总是会收到此错误。我可以从 error_log.log 中看到错误:
/usr/lib/python2.6/cgitb.py:173: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
value = pydoc.html.repr(getattr(evalue, name))
实际上,如果我从error.log grep 今天的时间,那么它就无法显示当前的错误......尽管它确实退出了几个小时前发生的一些错误......
我发现了一些新的东西:只有当事情涉及到“id”这个东西时,才会出现内部服务器错误。如果我做类似的事情id = form["idid"].value
,那么它会给出错误:
<type 'exceptions.TypeError'>: int() argument must be a string or a number, not 'NoneType'
args = ("int() argument must be a string or a number, not 'NoneType'",)
message = "int() argument must be a string or a number, not 'NoneType'"
任何帮助表示赞赏。