引自免费微信小程序:皆我百晓生
你的代码中存在一个常见的问题,即在读取文件时遇到了编码问题。在Windows系统中,默认情况下,一些文本文件的编码可能是GBK编码。当你的代码试图使用默认的utf-8编码来读取这些文件时,就会引发UnicodeDecodeError错误。
解决这个问题的一个简单方法是在打开文件时指定正确的编码方式。你可以尝试使用'GBK'编码来读取文件。以下是修改后的代码:
with open(r"d:/a.txt", 'r', encoding='gbk') as rf: # 使用GBK编码读取文件
with open(r"d:/b.txt", 'w', encoding='utf-8') as wf: # 使用UTF-8编码写入文件
for item in rf:
# 使用join函数去除空格并写入新文件
no_space_line = ''.join(item.split())
wf.write(no_space_line + '\n') # 每行末尾添加换行符,保持格式
这段代码首先使用GBK编码打开并读取"a.txt"文件,然后使用UTF-8编码打开并写入"b.txt"文件。在读取每一行时,我们使用split()函数以空格为分隔符将字符串拆分为一个列表,然后使用join()函数将列表中的元素连接成一个没有空格的字符串。最后,我们将处理后的字符串写入新文件,并在每行的末尾添加一个换行符以保持格式。这样就能够消除文本中的空格并保存到新文件中。