在Mac(OSX 10.15.6)上使用Python打开和读取.txt文件时出现Unicode编码错误

在Mac(OSX 10.15.6)上使用Python打开和读取.txt文件时出现Unicode编码错误,python,unicode,python-unicode,Python,Unicode,Python Unicode,我写了下面的代码,它工作得很好:它打开一个文件对话框,我可以选择一个文本文件,它将内容存储在两个不同的变量中(一个用于将内容读取为一个大字符串,另一个带有换行符)。然后,我通过调用变量来执行一些操作,没有问题。但是,当我创建一个独立的应用程序(使用py2app)时,应用程序在必须读取内容时崩溃。 我可以把这个错误追溯到一个独角兽的错误。例如,我尝试导入一个.txt文件,作为回报,Console error选项卡显示以下消息: Traceback (most recent call last):

我写了下面的代码,它工作得很好:它打开一个文件对话框,我可以选择一个文本文件,它将内容存储在两个不同的变量中(一个用于将内容读取为一个大字符串,另一个带有换行符)。然后,我通过调用变量来执行一些操作,没有问题。但是,当我创建一个独立的应用程序(使用py2app)时,应用程序在必须读取内容时崩溃。 我可以把这个错误追溯到一个独角兽的错误。例如,我尝试导入一个.txt文件,作为回报,Console error选项卡显示以下消息:

Traceback (most recent call last):
  File "main.pyc", line 1913, in ADD_FILE
  File "main.pyc", line 5593, in write
UnicodeEncodeError: 'ascii' codec can't encode characters in position 172-174: ordinal not in range(128)
这是我为打开文本文件编写的代码:

data = QtWidgets.QFileDialog.getOpenFileName(self, 'Select Text File', os.getcwd(), 'Text Files (*.txt)')
    if data != ('', ''):
      with open(data[0], 'r', errors='replace') as file:
         data_lines = file.readlines()
      with open(data[0], 'r', errors='replace') as file:
         data_string = file.read()

此错误只应在文件写入时发生,而不应在读取时发生。您正在使用Python2吗?也许,这里有一个隐含的书写:。或者,也许py2app会在读取时引入隐式写入?也许可以在py2app源代码中查找错误生成行。我使用的是python3。谢谢,我会调查的