2013-01-31 125 views
-1

任何人都可以请帮我解决python中的语法问题。输出给出如下:尝试打印复杂输出时出现语法错误

ip='180.211.134.66' 
port='123' 

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

我想获得的输出是这样的:

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

你需要整个事情作为一个字符串或你需要一个带有“http”键的字典? – ATOzTOA

回答

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"}) 
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

尝试使用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)}) 
相关问题