TypeError:不支持解码str

时间:2016-10-23 23:25:17

标签: python string typeerror decoding notsupportedexception

我试图为我的侄子棋盘游戏创建属性特征随机数,我正在尝试将属性写入外部文件,以便以后可以使用它们。当我试图写入文件时,它会出现错误

speedE = str('Speed -', str(speed))
TypeError: decoding str is not supported

我的代码是将计算出的属性添加到属性的名称中。 I.E. ('力量 - ',力量E) 我的代码是......

import random

char1 = open('Character1.txt', 'w')
strength = 10
strength += int(random.randint(1, 12) / random.randint(1,4))
speed = 10
speed += int(random.randint(1, 12) / random.randint(1,4))
speedE = str('Speed -', str(speed))
char1.write(speedE)
strengthE = str('Strength -', str(strength))
char1.write(strengthE)
print(char1)
char1.close()

char2 = open('Character2.txt', 'w')
strength2 = 10
strength2 += int(random.randint(1, 12) / random.randint(1,4))
speed2 = 10
speed += int(random.randint(1, 12) / random.randint(1,4))
speedE2 = str('Speed -', str(speed))
char2.write(speedE2)
strengthE2 = str('Strength -', str(strength))
char2.write(strengthE2)
print(char1)
char2.close()

对于写入外部文件非常新,而且它不太好。 如果你能提供帮助,我和我的侄子会非常感激,谢谢

1 个答案:

答案 0 :(得分:6)

不确定您希望str('Speed -', str(speed))做什么。

你想要的是一个字符串concat:

speedE2 = 'Speed -' + str(speed)
# replace other lines also

您还可以使用字符串格式,而不必担心类型转换:

speedE2 = 'Speed -{}'.format(speed)