Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3-UnicodeError:&x27;charmap';编解码器可以';t对字符进行编码(编码使其在文件中)_Python_Python 3.x_Unicode_Encoding - Fatal编程技术网

Python3-UnicodeError:&x27;charmap';编解码器可以';t对字符进行编码(编码使其在文件中)

Python3-UnicodeError:&x27;charmap';编解码器可以';t对字符进行编码(编码使其在文件中),python,python-3.x,unicode,encoding,Python,Python 3.x,Unicode,Encoding,我目前正在尝试获取某个帐户的推文,并将其以特定格式写入文件,但有时该帐户会在编解码器之外使用表情和其他字符,因此在阅读推文时,Python会出现以下错误(它不喜欢的特定字符是希腊字母“χ”),如果这有任何帮助,尽管我需要一个修复程序,可以处理Python不喜欢的任何字符): 如果我需要提供更多信息,请告诉我。提前谢谢 简短的回答: 您需要使用UTF-8编码打开文件 with open("LSData.txt", "a", encoding="utf-8") as file: 长答案:

我目前正在尝试获取某个帐户的推文,并将其以特定格式写入文件,但有时该帐户会在编解码器之外使用表情和其他字符,因此在阅读推文时,Python会出现以下错误(它不喜欢的特定字符是希腊字母“χ”),如果这有任何帮助,尽管我需要一个修复程序,可以处理Python不喜欢的任何字符):


如果我需要提供更多信息,请告诉我。提前谢谢

简短的回答:

您需要使用UTF-8编码打开文件

    with open("LSData.txt", "a", encoding="utf-8") as file:
长答案:

您看到的错误是在Python尝试将字符写入文件时生成的,但您打开文件时使用的编码不支持该字符

在上面的代码中,当您使用
open
时,您没有指定编码,在这种情况下,Python将为您的区域设置使用默认编码。这因系统而异,系统的默认语言环境似乎不支持希腊字母“χ”

要解决此问题,需要在打开文件时指定编码,并且使用的编码需要支持所有要写入的字符。这通常意味着使用一种Unicode编码,最常见的Unicode编码是UTF-8。如果您可以选择使用什么编码,那么现在最好在打开文件时使用UTF-8


如果你想阅读更多关于编码如何工作以及为什么会出现这样的问题的引人入胜的细节,这是一个很好的开始。

简短的回答:

您需要使用UTF-8编码打开文件

    with open("LSData.txt", "a", encoding="utf-8") as file:
长答案:

您看到的错误是在Python尝试将字符写入文件时生成的,但您打开文件时使用的编码不支持该字符

在上面的代码中,当您使用
open
时,您没有指定编码,在这种情况下,Python将为您的区域设置使用默认编码。这因系统而异,系统的默认语言环境似乎不支持希腊字母“χ”

要解决此问题,需要在打开文件时指定编码,并且使用的编码需要支持所有要写入的字符。这通常意味着使用一种Unicode编码,最常见的Unicode编码是UTF-8。如果您可以选择使用什么编码,那么现在最好在打开文件时使用UTF-8


如果您想了解更多关于编码工作原理以及出现此类问题的原因的有趣细节,这是一个很好的起点。

它是windows机器吗?它是windows机器吗?
    with open("LSData.txt", "a", encoding="utf-8") as file: