尝试添加一个包含变量的字符串,该变量可以是我的一个词典.Temp只是一个随机的文本字符串,33个字符长。
lst = ''
temp = ''
def randomstr():
global lst, temp
temp = ''
lst = [random.choice(string.ascii_letters + string.digits) for n in xrange(33)]
temp = "".join(lst)
headers = {"Content-type": "text/xml", "Accept": "text/plain", "Host": "chat.site.com", "Accept-Encoding": "identity", "User-agent": "Client Python-urllib/2.6", "userid": "39",}
headers["If-none-match"] = "jrc-%s"%temp
headers["If-none-match"] = "jrc-" + temp
headers["If-none-match"] = "jrc-%s" % (temp)
这些都不起作用,我做错了什么?
print temp
print headers
输出:
K60IcFrZveioTrPY9cAJ38IOANj67eElK
{'接受编码':'身份','主持':'chat.site.com','接受':'text / plain', 'User-agent':'Client Python-urllib / 2.6','userid':'39','If-n one-match':'jrc-','Content-type':'text / xml'}
它很奇怪,因为temp本身输出正常,但不在dict
headers["If-none-match"] = "jrc-"+str(temp)
也不输出
答案 0 :(得分:0)
如果temp
是具有多个元素的tuple
,则上述内容将失败:
"jrc-%s"%temp #not the right number of elements for formatting
"jrc-"+temp #can't concatenate string and tuple
我认为如果work
由dict
出现类似原因,也会失败。
应该“工作”*的东西是"jrc-"+str(temp)
*这里的工作是通过不抛出异常来定义的