我想在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'}
结肠后应该没有空格。
答案 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字符串的功能。