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

在python中删除变量前的空格时出错,python,python-2.7,printing,format,Python,Python 2.7,Printing,Format,我想在Python2.7中使用变量url1构建一个变量body1 url1 = "http://somewebpage" 及 body1={'url':url1} 在冒号后面给我一个空格 {'url': 'http://somewebpage'} 但是当我使用 body1 ={'url:{}'.format(url1)} 或 要删除空间,它会 set(['url:http://somewebpage”) 作为错误的输出,如何避免被设置?我想要的只是 {'url':'http://somew

我想在Python2.7中使用变量url1构建一个变量body1

url1 = "http://somewebpage"
body1={'url':url1}
在冒号后面给我一个空格

{'url': 'http://somewebpage'}
但是当我使用

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

要删除空间,它会

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

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

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


冒号后面应该没有空格。

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

您通过
格式
创建一个字符串,然后使用
{}
符号隐式创建一个
,这是显式
集()的语法糖

body1={'url':url1}

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

您将字典字符串表示法误认为是要生成的字符串。您不想生成任何数据结构。您只需要格式化一个字符串,该字符串碰巧看起来像Python打印的字典表示形式

以下是您想要的:
body1=“{'url':'”+url1+“}”


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

您想要一个dict,还是一个包含
{
}的字符串
字符以及字符之间的所有内容?您使用
{'url':url1}
获得的空间不是dict的一部分;它只是为了使印刷的图像更整洁一点。dict不包含空格、冒号或大括号。它有一个键
'url'
映射到一个值
'http://somewebpage“
。我想要像这样的东西:{'url':”}这没有任何意义:这是一个
dict
在输出时的格式。如果您想逐字打印
{'url':'data'}
,请使用字符串格式:
“{'url':“+repr(url1)+”}”
您需要了解数据结构与其默认打印表示形式之间的区别,然后。
json.dumps(dict)
从字典对象创建json字符串。你不需要重新发明轮子:)
body1 ={'url'+':'+str(url1)}