给出HTML页面的python代码上出现异常
对于一个学校项目,我必须用python做一个翻译。任务是使用字典功能进行翻译 翻译程序只包含20个单词,用不同的语言写在一个txt文件中。必须翻译的单词、初始语言和最终语言都来自html表单。而且结果必须打印在html页面上。我的程序可以运行,但我无法管理异常 当表单中的word字段留空或使用txt文件中没有的word时,程序必须打印特定的消息错误 我尝试了Try/except,但html只给了我一个白色页面。有人能解释一下为什么这样不行吗?而且,这只会解决字段为空时的问题,当我键入txt文件中没有的单词时,如何获得正确的错误消息给出HTML页面的python代码上出现异常,python,Python,对于一个学校项目,我必须用python做一个翻译。任务是使用字典功能进行翻译 翻译程序只包含20个单词,用不同的语言写在一个txt文件中。必须翻译的单词、初始语言和最终语言都来自html表单。而且结果必须打印在html页面上。我的程序可以运行,但我无法管理异常 当表单中的word字段留空或使用txt文件中没有的word时,程序必须打印特定的消息错误 我尝试了Try/except,但html只给了我一个白色页面。有人能解释一下为什么这样不行吗?而且,这只会解决字段为空时的问题,当我键入txt文件中
import cgi
import cgitb
cgitb.enable()
print "Content-Type: text/html"
print
form= cgi.FieldStorage()
try:
language1 = str(form["startlanguage"].value)
language2 = str(form["finallanguage"].value)
word = str(form["word"].value)
translator= dict ()
if language1=="ita" and language2=="eng":
itaeng= open("itafraeng.txt", "r")
for row in itaeng:
wordita, wordfra, wordeng = riga.split()
translator[wordita]=wordeng
itaeng.close()
print '''<html>
<body>
<p>%s = %s </p>
</body>
<html>''' % (word, translator[word])
except KeyError:
print ' Error '
导入cgi
进口cgitb
cgib.enable()
打印“内容类型:文本/html”
打印
form=cgi.FieldStorage()
尝试:
language1=str(形式[“startlanguage”].value)
language2=str(格式[“finallanguage”].value)
word=str(形式[“word”].值)
翻译器=dict()
如果语言1==“ita”和语言2==“eng”:
itaeng=open(“itafraeng.txt”、“r”)
对于itaeng中的行:
wordita,wordfra,wordeng=riga.split()
翻译器[wordita]=wordeng
itaeng.close()
打印“”'
%s=%s
“%”(word,翻译程序[word])
除KeyError外:
打印“错误”
编辑:有人告诉我,在我的旧代码中,我并没有真正使用dictionary函数,所以我试图更改它,但现在它不再起作用了。有人能解释一下原因吗?将
除外KeyError:“Error”
替换为除外e:print(e)
并发布错误消息。似乎您的代码中总是有错误,所以它总是执行,除了KeyError:
,但您不使用打印
来显示任何内容。您也可以使用打印
来显示变量中的所有值-这将帮助您发现问题。@furas我完全忘记了在except KeyError中的打印。现在,当表单中的文本框为空时,将显示正确的错误消息,因此,谢谢!但是,当我尝试翻译txt文件中没有的单词时,如何设置正确的错误消息?您可以在开始时设置found=False
。然后使用if word==wordita:found=True
,这样最后你可以使用if not found:print“not found”