尝试打印复杂输出时出现语法错误

时间:2013-01-31 10:52:11

标签: python

任何人都可以帮我纠正python中的语法。输出如下:

ip='180.211.134.66'
port='123'

print ({"http":"http://"+ip +":"+ port +"})"

我想得到这样的输出:

({"http":"http://180.211.134.66:123"}) 

3 个答案:

答案 0 :(得分:2)

尝试使用str.format

ip='180.211.134.66'
port='123'
data = {"http":"http://{0}:{1}".format(ip, port)}
print '({0})'.format(data)

在一行中:

print "({0})".format({"http": "http://{0}:{1}".format(ip, port)})

答案 1 :(得分:1)

最后两个双引号是不必要的。删除它们,你有:

ip='180.211.134.66'
port='123'

    data = { 'http' : 'http://' + ip + ':' + port }
    print str(data)

    # output like this ({"http":"http://180.211.134.66:123"}) 

答案 2 :(得分:0)

假设您希望整个输出为字符串...

您应该使用单引号来包含字符串或转义双引号。

使用此:

ip='180.211.134.66'
port='123'

print '({"http":"http://' + ip + ':' + port + '"})'

OR

print "({\"http\":\"http://" + ip + ":" + port + "\"})"

输出:

({"http":"http://180.211.134.66:123"})