;我发现了一个很奇怪的问题,在Python2版本环境下运行你的代码,if role=='小甲鱼'这句话永远也不会返回True,同样的 if role == '小客服':也不会,这就说明了role与'小甲鱼'或'小客服'永远也不相等,但是!我试着打印role的值,发现它确确实实有时候是'小甲鱼',有时候是'小客服',同时role的类型也确确实实是字符串类型,那么问题来了,当两个对象内容一致同时类型一致,它们为什么还会不同呢?
我觉得应该是它俩的编码格式不同,很多时候我们了解到的编码格式有'gbk'和'utf-8'
我们知道'gbk'和'utf-8'的编码解码格式不同,那么它们对中文字符串解码后形成的字节符就不一样
中文windows系统默认使用的编码格式是'gbk',然后你在文件顶部声明编码方式为'utf-8',
想让role等于你代码里的'小甲鱼'或'小客服',我有两种解决方式:
1.将record.txt另存为,然后选择编码为utf-8
2.把你代码上面的# _*_ coding: utf-8 _*_改为# _*_ coding: gbk _*_
以上问题的出现主要是因为python2对中文的编码格式问题,如果你用的是python3或者record.txt内容没有中文就不会有问题了