我正在尝试让循环运行时我的字典不断更新,x和y值会根据需要更改。这是我在收到错误消息并来到这里之前最初尝试过的方法。
params = urllib.urlencode({'name':'xxxxx', 'pass':'xxxxxxx', 'amount':'x', 'price':'y'})
x = math.floor(first)
y = last*1.007-last*.003
params['amount'] = x
params['price'] = y`
sell = urllib.urlopen("https://sellyourstuffwhatever.com", params)
我不太了解Python,所以我确信有办法做到这一点。然而,当前的方法给了我这个错误。
“TypeError:'str'对象不支持项目分配”
编辑:所以我需要每30分钟左右更新一次价格和金额,这将在脚本循环时自动完成。该网站需要我的用户名,密码,价格和金额。用户名和密码永远不会改变,但价格和金额不会改变。那么无论如何我可以不断更新它们吗?
答案 0 :(得分:4)
urllib.urlencode
[docs]返回一个字符串,而不是字典。你必须在循环后调用它。
类似的东西:
params = {'name':'xxxxx', 'pass':'xxxxxxx'}
for .....:
params['amount'] = math.floor(first)
params['price'] = last*1.007-last*.003
params = urllib.urlencode(params)
如果为编码字符串使用不同的变量名,那就更好了。
如果你还不了解Python,have a look at some tutorial。
答案 1 :(得分:1)
urllib.urlencode返回一个字符串。由于字符串是不可变对象,因此无法为其中的一部分赋值,因此会出错。
无论如何:从您的代码中看起来您希望param
成为字典。也许你应该多澄清一下你的问题......