在python中的变量之前删除空格时出错

时间:2017-08-10 20:20:06

标签: python python-2.7 printing format

我想在python 2.7中构建一个变量body1使用变量url1

url1 = "http://somewebpage"

和      body1 ={'url':url1} 在冒号后给我一个空格,

{'url': 'http://somewebpage'}

但是当我使用

body1 ={'url:{}'.format(url1)}

body1 ={'url'+':'+str(url1)}

删除空格,它给出了

set(['url:http://somewebpage'])

作为错误的输出,如何避免被设置?我想要的只是

{'url':'http://somewebpage'}

结肠后应该没有空格。

1 个答案:

答案 0 :(得分:2)

body1 = { 'url:{}'.format(url1) }

您正在通过format创建字符串,然后使用set符号隐式创建{},这是显式set()的语法糖。

body1 = { 'url': url1 }

{}符号与:一起使用时,会隐式创建一个字典而不是一个字符集,当您执行{'url': 'http://somewebpage'}时,它会打印给您(用于可视化目的)print(body1) 1}}。

您错误地想要生成的字符串的字典字符串表示形式。您不想生成任何数据结构。你只想格式化一个偶然看起来像Python的字典的印刷表示的字符串。

这是您想要的:body1 = "{'url':'" + url1 + "'}"

我可以补充一点,用例对我来说似乎有点奇怪。 OP,如果您正在尝试创建JSON字符串,Python在json模块中具有将字典转换为带json.dumps({'url': 'http://somewebpage'})的JSON字符串的功能。