报错一UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 48: invalid start byte
报错信息:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py", line 3550, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-2-af69039d001f>", line 1, in <module>
runfile('/media/pi/Lexar3/python_test/uart_test.py', wdir='/media/pi/Lexar3/python_test')
File "/home/pi/Downloads/pycharm-2024.1/plugins/python/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
pydev_imports.execfile(filename, global_vars, local_vars) # execute the script
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pi/Downloads/pycharm-2024.1/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 13, in execfile
contents = stream.read()
^^^^^^^^^^^^^
File "<frozen codecs>", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 48: invalid start byte
报错原因:
方法一:检查文件的编码方式
- 打开文件,确认其编码方式。可以使用文本编辑器如Notepad++,Sublime Text,或者其他支持显示文件编码的工具。
- 如果文件不是UTF-8编码,可以将其转换为UTF-8。大多数文本编辑器都支持编码转换。
方法二:在代码中指定文件的编码方式
如果你知道文件的编码方式,可以在读取文件时指定编码。修改你的脚本,添加encoding
参数。例如,如果文件是使用ISO-8859-1编码的,可以这样写:
with open('your_file_path', 'r', encoding='iso-8859-1') as f:
contents = f.read()
方法三:使用二进制模式读取文件
如果你只是需要读取文件的原始字节数据,可以使用二进制模式:
with open('your_file_path', 'rb') as f:
contents = f.read()
方法4 (最直接简单的方法)
点击pycharm右下角红色框起来的,然后进行格式转化即可
报错二:pycharm打开文件夹显示不全
解决方案:打开相应文件夹,文件夹里有一个名为.idea,删除该文件夹即可。