Может кто-нибудь, пожалуйста, помогите мне исправить этот синтаксис в Python. Выход дается следующим образом:

ip='180.211.134.66'
port='123'

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

Я хотел бы получить такой вывод:

({"http":"http://180.211.134.66:123"}) 
-1
gurpreet 31 Янв 2013 в 14:52

3 ответа

Лучший ответ

Предполагая, что вы хотите весь вывод в виде строки ...

Вы должны либо использовать одинарные кавычки, чтобы содержать строку, либо избегать двойных кавычек.

Использовать это:

ip='180.211.134.66'
port='123'

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

ИЛИ

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

Выход:

({"http":"http://180.211.134.66:123"})
0
ATOzTOA 31 Янв 2013 в 11:01

Последние две двойные кавычки не нужны. удалите их, и вы получите:

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"}) 
1
Cris Stringfellow 31 Янв 2013 в 10:54

Попробуйте использовать 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)})
2
Artsiom Rudzenka 31 Янв 2013 в 11:01