【问题标题】:google appengine does not print array valuegoogle appengine 不打印数组值
【发布时间】:2011-03-08 21:49:59
【问题描述】:

我从谷歌应用引擎开始,正在尝试一些快速学习。我偶然发现了这个问题,这在我的本地开发环境中不会发生。这里是代码

import random, math
random.seed()

quotesArray=[]
quotesArray.append("This is a Test1")
quotesArray.append("This is a Test2")
quotesArray.append("This is a Test3")
quotesArray.append("This is a Test4")
quotesArray.append("This is a Test5")


x = int(math.floor(random.random()*343)+1)
print quotesArray[0]+" "+str(x)

在我的开发环境中,输出是

This is a Test1 45

在现场的输出是

45

谁能告诉我为什么会这样?

【问题讨论】:

  • 当您使用 logging.debug() 而不是打印时,是否也会发生这种情况?

标签: python arrays google-app-engine random


【解决方案1】:

我无法解释为什么开发服务器和生产服务器之间的行为不同,但是在 Web 应用程序中,如果您只是将 print 内容发送到标准输出而不首先发送 HTTP 标头,您应该期望您的输出将被破坏。您至少应该在任何其他输出之前打印“\r\n”,尽管不使用某种 wsgi 框架无论如何都会令人沮丧。

【讨论】:

  • 我确实输入了以下代码,但仍然没有输出..它在实时环境中是一个空白屏幕,但 localhost 打印得很好 ` print 'Content-Type: text/plain' loveQuotes=[] loveQuotes .append("Test1") loveQuotes.append("Test2") loveQuotes.append("Test3") loveQuotes.append("Test4") 打印loveQuotes[1]`
【解决方案2】:

我自己解决了这个问题

我们必须使用sys.stdout.write('text to print')而不是print命令

您需要import sys 才能进行上述操作。

【讨论】:

  • 它可能与标准输出有关...可能是应用引擎中的一个错误,无法识别print 的输出需要去哪里...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-09
  • 1970-01-01
  • 2017-04-05
  • 1970-01-01
  • 1970-01-01
  • 2020-02-12
相关资源
最近更新 更多