私はプログラミングが初めてです(まだ学生です)。私は独学で Python を学んでいて、ウェブサーバーでプログラムを実行しようとしましたが、私のような初心者向けの web2py を使用することにしました。プログラムはコマンド プロンプトから正常に実行されますが、作成した Web ページで print ステートメントを適切に実行しません。私はweb2pyのドキュメントとチュートリアルを調べて、基本的に何かを返して関数を閉じずに印刷する方法を見つけようとしました。これを実行すると:
def main():
url = "http://<someurl>"
if url[len(url) - 1] == '/':
url = url[:len(url) - 1]
maxdepth = 3
maxpages = 10
index_cnt = 4
index = crawl_web(url,maxpages,maxdepth)
print "Printing index..."
for i,e in enumerate(index):
if i >= index_cnt:
return
print "'{}' appears in the following urls:".format(e[0])
for i,u in enumerate(e[1]):
print " {}".format(u)
return " {}".format(u) ##only this line printed in web2py page
最後の 'return' だけが実際にページに表示されます。web2py を使用する場合にいくつかの異なる構文があることは知っていますが、私が見つけたサンプル コードはすべて、print str(DIV()) を使用して return、response.flash、response.print を示しているように見えます。と。また、「None」を返す「インデックスを返す」と、後で for ループによって出力されるはずの値が返されると思います。
「index()」関数は URL のリストを取得しますが、サポートする関数はかなり長いですが、エラーは返されませんでした。