1

私はこのコードを持っていますが、次のエラーが発生したため実行できませんでした: "TypeError:'classobj' object is not subscriptable"そしてこれが私のコードです:

import cgi
import customerlib

form=cgi.FieldStorage

history = customerlib.find(form["f_name"].value,form["l_name"].value)


print "Content-type: text/html"
print
print """<html>
  <head>
    <title>Purchase history</title>
  </head>
  <body>
    <h1>Purchase History</h1>"""

print "<p>you have a purchase history of:"
for i in history: "</p>"
   print"""  <body>
</html>"""

このファイルの横にcustomerlibファイルがあります。それを修正する方法はありますか?

4

1 に答える 1

6
form=cgi.FieldStorage

FieldStorageオブジェクトではなくクラスです。FieldStorageオブジェクトを作成するには、インスタンス化する必要があります。

form=cgi.FieldStorage()

form は現在、タイプ のオブジェクトではなく、form["f_name"]のクラスのエイリアスであるため、エラーが発生しています。それをインスタンス化することにより、それはあなたがすべきだと思うことをしています。FieldStorageFieldStorage

CGI モジュールの使用方法の詳細については、cgi モジュールのドキュメントを参照してください。

于 2012-04-04T22:51:12.153 に答える