在Python中更新字典
我想让我的字典在循环运行的时候不断更新,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了解不多,所以我肯定有办法做到这一点。不过,我现在的方法给我带来了这个错误。
“类型错误:'str'对象不支持项赋值”
编辑:我需要每三十分钟左右更新一次我的价格和数量,这个过程会在脚本循环时自动进行。这个网站需要我的用户名、密码、价格和数量。用户名和密码是不会变的,但价格和数量会变化。那么,有没有办法让我持续更新这些数据呢?
2 个回答
1
urllib.urlencode 这个函数会返回一个字符串。因为字符串是不可改变的对象,所以你不能对它的一部分进行赋值,这就是出现错误的原因。
不过,从你的代码来看,你似乎希望 param
是一个字典。也许你应该再详细说明一下你的问题……
4
urllib.urlencode
[文档] 返回的是一个字符串,而不是字典。你需要在循环结束后再调用它。
可以这样做:
params = {'name':'xxxxx', 'pass':'xxxxxxx'}
for .....:
params['amount'] = math.floor(first)
params['price'] = last*1.007-last*.003
params = urllib.urlencode(params)
如果你为编码后的字符串使用不同的变量名,那就更好了。
如果你对Python还不太了解,可以看看一些教程。