首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python,PyGame UnicodeDecodeError

Python,PyGame UnicodeDecodeError
EN

Stack Overflow用户
提问于 2018-06-12 03:57:54
回答 1查看 120关注 0票数 0

Python,PyGame UnicodeDecodeError:'ascii‘编解码器无法解码位置0中的字节0xe2 :序数不在范围内(128)

我知道其他类似问题的答案,但它们都没有解决我的问题。

这是我的代码:

代码语言:javascript
复制
# coding=utf-8
W = "─│"
ENCODING = "utf-8"

def maze():
tr_list = pygame.sprite.Group() 
count_i = 0 
count_j = 0 
f = codecs.open("files/ma.txt", mode="r+", encoding=ENCODING)  
# Open file as f
read = f.read().splitlines()
f.close()
for line in read:
    for m in line:
        if m in W:
            if m == '│':
                tr_list.add(MazeV(count_j, count_i))
            elif m == '─':
                tr_list.add(MazeH(count_j, count_i))
        count_j += ADD
    count_i += ADD
return tr_list

这是我运行代码时的错误:

代码语言:javascript
复制
File "/Users/user/Documents/Pact/Main.py", line 637, in <module>
main()
File "/Users/user/Documents/Pact/Main.py", line 121, in main
wall_list = maze()  # Set up the maze
File "/Users/user/Documents/Pact/Main.py", line 493, in maze
if i in WALL:  # If wall
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: 
ordinal not in range(128)

我尝试了许多格式的编码和解码,但问题仍然存在。有什么我能做的吗?

这是ma.txt:

ma.txt

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2018-06-12 04:01:12

尝试解码line,也许会有帮助

代码语言:javascript
复制
for line in read:
    for m in line.decode(ENCODING):
        ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50805165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档