index = 0
manage = {}
filedata = open(custom_path,'r')
for status in filedata:
manage[index] = status
print manage[index]
index += 1
以上print manage [index]的输出正确,显示:
yes
yes
yes
yes
yes
然后,我添加了一个新行: manage = str(u'\ n,'。join(manage))
并收到以下错误:
TypeError: sequence item 0: expected string, int found
将我的代码更改为:
values = ','.join(str(status) for status in manage)
print values
得到以下输出(这是错误的):
0,1,2,3,4
我在期待:是的,是的,是的,是的,是的
知道我哪里出错了?
答案 0 :(得分:1)
您正在迭代字典中的键而不是值。
尝试更改此行:
values = ','.join(str(status) for status in manage)
To This:
values = ','.join(val.rstrip("\n") for val in manage.values())
这也是您收到该错误的原因,因为您尝试使用密钥。
答案 1 :(得分:1)
这是因为管理是一个字典而不是列表,如
中所定义manage = {}
答案 2 :(得分:1)
manage
是一个包含整数键的字典。 for循环遍历字典键。将其更改为:','.join(line.strip() for line in manage.values())
。