【Python编程入门】面对IDE编译错误:如何解读系统提示并解决问题

简介: 本文通过一个Python编码错误的实例,讲述了如何根据系统提示解读并解决IDE编译中出现的问题,强调了直接查阅官方文档的重要性,而不是盲目依赖百度搜索来解决问题。

1、错误信息

SyntaxError: Non-UTF-8 code starting with ‘\xe8’ in file D:\xxxx\scripts\testjson.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

  • 错误是执行下面的代码导致的;题主是以eclipse为例
import jsonpath
sert = {
   
   'code': '200', 'msg': '请求成功', 'data': {
   
   'records': [{
   
   'id': None, 'tenantId': None, 'houseRoomId': '170156xxxxx50628', 'houseBaseId': '1701568827xxxx8', 'houseAddress': '深圳市南山区南山街道自动化xxxxx-201', 'address': '自动化测试房源房间xxxx', 'houseMaintainersId': '161390xxxx94530', 'houseType': 3, 'actualPrice': 1234.0, 'cityName': '深圳市', 'areaName': '南山区', 'townName': '南山街道', 'communityName': '自动化测试房源房间', 'buildingNo': '1', 'unit': '1', 'doorplate': '201', 'roomName': '201', 'isMainRoom': 1, 'houseArea': 88.0, 'houseAlias': '1栋1单元', 'roomTypeId': '1701569xxxx2913', 'roomTypeName': None, 'deptId': '15863544xxxxx4', 'deptName': None, 'is_bind_all_device': 0, 'deviceInfos': [], 'communityId': '1701568xxxx8721', 'buildingId': '1701568xxxx50624', 'houseBizMode': 2, 'talentedHouseTypeId': None, 'talentedHouseStatus': '1', 'propertyPrice': None}], 'total': 20, 'size': 20, 'current': 1, 'orders': [], 'optimizeCountSql': True, 'searchCount': True, 'maxLimit': None, 'countId': None, 'pages': 1}}
print(type(sert))

2、解决过程

  • 首先直接忽视后面错误提示的详情地址:http://python.org/dev/peps/pep-0263/
  • 先百度前面半截错误信息:SyntaxError: Non-UTF-8 code starting with ‘\xe8’
  • 明眼人都知道这肯定是字符编码的问题,中文在这里执行无法识别
2.1、结论

百度会有两种解决办法:
1、在脚本前面注释加coding指定编码格式
2、编辑IDE设置编码格式

在这里插入图片描述

然而都不一定有用,甚至还浪费了更多纠结的时间。

2.2、正解

直接访问错误提示的地址,从上面去找到答案。

在这里插入图片描述

3、不要盲目相信自己百度的能力

#!/usr/bin/python
# -*- coding: latin-1 -*-

import jsonpath
sert = {
   
   'code': '200', 'msg': '请求成功', 'data': {
   
   'records': [{
   
   'id': None, 'tenantId': None, 'houseRoomId': '170156xxxxx50628', 'houseBaseId': '1701568827xxxx8', 'houseAddress': '深圳市南山区南山街道自动化xxxxx-201', 'address': '自动化测试房源房间xxxx', 'houseMaintainersId': '161390xxxx94530', 'houseType': 3, 'actualPrice': 1234.0, 'cityName': '深圳市', 'areaName': '南山区', 'townName': '南山街道', 'communityName': '自动化测试房源房间', 'buildingNo': '1', 'unit': '1', 'doorplate': '201', 'roomName': '201', 'isMainRoom': 1, 'houseArea': 88.0, 'houseAlias': '1栋1单元', 'roomTypeId': '1701569xxxx2913', 'roomTypeName': None, 'deptId': '15863544xxxxx4', 'deptName': None, 'is_bind_all_device': 0, 'deviceInfos': [], 'communityId': '1701568xxxx8721', 'buildingId': '1701568xxxx50624', 'houseBizMode': 2, 'talentedHouseTypeId': None, 'talentedHouseStatus': '1', 'propertyPrice': None}], 'total': 20, 'size': 20, 'current': 1, 'orders': [], 'optimizeCountSql': True, 'searchCount': True, 'maxLimit': None, 'countId': None, 'pages': 1}}
print(type(sert))

再执行就不会报错了,是不是很简单;有没有被自己的’蠢’而感到羞愧?题主面壁去了。

相关文章
|
1天前
|
Python
全网最适合入门的面向对象编程教程:Python函数方法与接口-函数与方法的区别和lamda匿名函数
【9月更文挑战第15天】在 Python 中,函数与方法有所区别:函数是独立的代码块,可通过函数名直接调用,不依赖特定类或对象;方法则是与类或对象关联的函数,通常在类内部定义并通过对象调用。Lambda 函数是一种简洁的匿名函数定义方式,常用于简单的操作或作为其他函数的参数。根据需求,可选择使用函数、方法或 lambda 函数来实现代码逻辑。
|
1天前
|
存储 机器学习/深度学习 数据挖掘
深入浅出:Python编程入门与实践
【9月更文挑战第16天】本文以“深入浅出”的方式,引领读者步入Python编程的世界。从基础语法到实际应用,我们将一步步探索Python的魅力所在。无论你是编程新手,还是希望拓展技能的老手,这篇文章都将为你提供有价值的信息和指导。通过本文的学习,你将能够编写出简单而实用的Python程序,为进一步深入学习打下坚实的基础。让我们一起开始这段编程之旅吧!
|
1天前
|
机器学习/深度学习 存储 人工智能
探索Python编程的魔法:从基础到进阶
【9月更文挑战第16天】本文将带领你进入Python编程的世界,无论你是初学者还是有一定经验的开发者。我们将一起揭开Python编程的神秘面纱,通过实际案例和代码示例,深入浅出地探讨Python的基础语法、数据结构、面向对象编程以及函数式编程等核心概念。文章旨在提供一条清晰的学习路径,帮助你构建坚实的编程基础,并逐步过渡到更高级的编程技巧。无论你的目标是数据分析、网络开发还是机器学习,这篇文章都将为你打下扎实的基础,让你在编程的道路上越走越远。
14 6
|
1天前
|
机器学习/深度学习 数据挖掘 程序员
Python编程基础:从入门到实践
【9月更文挑战第16天】本文是一篇Python编程的入门教程,旨在帮助初学者理解Python的基本概念和语法。文章首先介绍了Python的历史和特点,然后详细讲解了Python的基本语法,包括变量、数据类型、运算符、控制结构等。接着,文章通过一些实例代码,展示了如何使用Python进行基本的编程操作,如输入输出、条件判断、循环等。最后,文章还提供了一些学习资源和建议,帮助读者进一步学习和掌握Python编程。
|
1天前
|
存储 程序员 Python
Python编程入门:从零到英雄
【9月更文挑战第16天】本文是一篇针对初学者的Python编程入门指南,旨在帮助读者从零基础开始,通过简单易懂的语言和实例,逐步掌握Python编程的基本知识和技能。文章首先介绍了Python的起源和特点,然后详细讲解了Python的安装、基本语法、数据类型、控制结构、函数、模块等基础知识,最后通过一个简单的项目实例,展示了如何运用所学知识解决实际问题。全文通俗易懂,结构清晰,适合所有对Python感兴趣的读者阅读和学习。
|
1天前
|
数据处理 开发者 Python
探索Python中的列表推导式在Python编程中,列表推导式是一种简洁而高效的方法,用于从现有的列表创建新列表。本文将深入探讨列表推导式的用法、优势以及一些实际应用示例。
列表推导式是Python提供的一种强大工具,它允许开发者以更简洁的语法快速生成列表。通过结合循环和条件语句,列表推导式能够简化代码结构,提高开发效率。本文详细介绍了列表推导式的基本用法,并通过实例展示了其在数据处理、转换和过滤中的广泛应用。
8 0
|
4月前
|
人工智能 安全 Java
Python 多线程编程实战:threading 模块的最佳实践
Python 多线程编程实战:threading 模块的最佳实践
216 5
|
4月前
|
安全 调度 Python
什么是Python中的事件驱动编程?如何使用`asyncio`模块实现异步事件处理?
【2月更文挑战第4天】【2月更文挑战第9篇】什么是Python中的事件驱动编程?如何使用`asyncio`模块实现异步事件处理?
105 0
|
4月前
|
缓存 分布式计算 自然语言处理
Python语言的函数编程模块
Python语言的函数编程模块
|
4月前
|
并行计算 程序员 API
Python多进程编程:利用multiprocessing模块实现并行计算
Python多进程编程:利用multiprocessing模块实现并行计算
635 0