在python中使用字符串中的冒号

时间:2010-11-03 22:17:56

标签: python google-app-engine

我使用python 2.6.5为谷歌应用引擎开发应用程序 - 我对python不太熟悉,但我正在学习。

我正在尝试将一个url放入一个字符串中,因此变量=“string http://domain.name

然后我打印出来的字符串。问题是,如果冒号(在http之后)在字符串中,我没有得到任何输出,我不知道为什么。

我尝试用以下字符串转义字符串:

  • “” “http://domain.name” “”
  • R “http://domain.name”
  • 的 “http \://domain.name”
  • 的 “http \://domain.name”
  • 的 “http \\://domain.name”
  • 的 “http :: //domain.name”

它们似乎都不起作用,我不确定还有什么可以尝试

上下文就是这样

variables.py是:

...
HOST_URL = "http://domain.name"
...

示例logout.py

import variables
import sys

...

class Logout(webapp.RequestHandler):
    """ RequestHandler for when a user wishes to logout from the system."""
    def post(self):
        self.get()

    def get(self):
        print(variables.HOST_URL)
        print('hi')
        self.redirect(variables.HOST_URL)
        sys.exit()

在文件functions.py

import variables
import sys

...

def sendhome(requesthandler)
    print 'go to '+variables.HOST_URL
    requesthandler.redirect(variables.HOST_URL)
    sys.exit()

从类似的上下文调用:

from functions import sendhome

...

class Logout(webapp.RequestHandler):
    """ RequestHandler for when a user wishes to logout from the system."""
    def post(self):
        self.get()

    def get(self):
        sendhome(self)

任何帮助将不胜感激

感谢

2 个答案:

答案 0 :(得分:7)

如果我没有被误解,GAE使用WSGI,你不是简单地打印东西,你应该返回一个正确的HTTP响应对象(它不是PHP)。

我想如果您使用firefox + firebug访问该页面并查看network->标题,您将看到浏览器正在使用http:作为HTTP标头,其值为“//domain.name”。

编辑:顺便问一下,你不应该使用“self.response.out.write”而不是“print”吗?

答案 1 :(得分:0)

问题是调用打印或重定向后的sys.exit()