【Python】新手必备的实用代码调试技巧指南
OS:Windows IDE:pycharm
一、代码调试(Debug)
1. 设置 / 取消断点
鼠标左键点击代码数字处,红色圆点出现即成功设置断点,可设置多个断点。再次点击红色圆点,即可取消断点。

2. 进入调试模式
if __name__ == '__main__': 绿色开始标志处鼠标右键第二个。


3. 调试过程
使用快捷键进行调试,以下是几个最常用的快捷键。
|
快捷键 |
含义 |
|
F8 |
逐行运行代码 |
|
F7 |
逐行运行代码,但会进入调用的函数内部 |
|
F9 |
直接运行到下一个断点处 |
|
ctrl Z |
回退至上一行代码 |
|
ctrl F |
查找特定的字符 |
在pycharm调试界面中查看变量和调用信息,配合调试。鼠标悬浮可查看快捷键,以上快捷键列出的功能图标没有标出。

4. 忽略断点
断点依然存在,但是在调试时不再作为一个断点打断。

二、日志文件(Log)
1. 运行代码记录
鼠标右键点击Local History,点击Show History。
弹出下面的界面,分为不同的版本,之前的版本和现在的版本,变动的地方用不同的颜色高亮表示,可以对之前的版本进行回溯。
2. 默认日志
- 在菜单栏中选择 Help > Show Log in Explorer ,打开日志文件所在的文件夹。
- 在文件夹中,idea.log文件是PyCharm的主要日志文件。idea1.log等是历史日志文件。
- 如果没有找到日志文件,可能因为文件夹被隐藏,需要打开文件设置显示隐藏文件。打开文件夹,点击查看,勾选隐藏的项目。
3. 手动配置日志
日志需要用到python的logging模块,在代码文件里粘贴下列代码即可实现。
第一种方式是在控制台直接输出:
import logging
logging.basicConfig(level = logging.INFO)
logger = logging.getLogger(__name__)
logger.info("Start running code")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.error('there is something wrong')
logger.info("done")
第二种方式是将日志信息写入专门的日志文件中,进行管理:
import logging
logger = logging.getLogger(__name__)
logger.setLevel(level=logging.INFO)
handler = logging.FileHandler("Log/Leetcode.log")
handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.info("Start running code")
logger.debug("running")
logger.warning("Something you should check")
logger.error("Something maybe fail.")
logger.info("done")
第三种方式是将日志信息写入专门的日志文件中,并且在控制台进行显示:
import logging
logger = logging.getLogger(__name__)
logger.setLevel(level=logging.INFO)
handler = logging.FileHandler("Log/Leetcode.log")
handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
console = logging.StreamHandler()
console.setLevel(logging.INFO)
logger.addHandler(console)
logger.addHandler(handler)
logger.info("Start running code")
logger.debug("running code")
logger.warning("Something you should check")
logger.error("something went wrong")
logger.info("done")
4. 日志插件
在菜单栏 File > Settings > Plugins 中搜索 Ideolog,点击install下载。如果查找不到,建议查看pycharm版本是否过低。
- 新建一个log文件,点击按钮进入插件配置。

- 进入配置页面,点击黄色框部分进行编辑。
^.*([Ee]rror|[Ss]evere).*$ # 某行有error、severe (不区分大小写) ^.*[Ww]arn(ing)?.*$ # 某行有warn、warning (不区分大小写) ^.*[Ii]nfo.*$ # 某行有info、Info、INFO
- 效果图

三、函数调用关系查看
当需要定义了很多函数需要进行调用,特别是从不同的文件中调用时,会给调试造成很多困难,可以查看调用关系进行查看。
当函数被调用时,会在函数前一行标出x usages,代表有x处调用了该函数。左键单击即可看到调用该函数的地方,点击可直接跳转。

当调用一个函数时, 可以按住ctrl键,函数名会变为蓝色。鼠标左键点击,即可直接跳转到函数定义的位置进行查看。

四、项目依赖
Python 环境管理是开发中的核心技能,能够避免依赖冲突、隔离不同项目的运行环境。
-
依赖隔离:不同项目可能需要不同版本的包。
-
避免全局污染:防止版本混乱。
-
可复现性:确保能准确复现开发环境。
推荐使用 venv(Python 内置)管理项目环境:
- 在IDE中创建项目初期就会选择python环境,建议选择venv环境。
- 选择手动创建遵循以下步骤:
# 创建虚拟环境(项目根目录运行)
python -m venv venv # 会在当前目录生成 `venv` 文件夹
# 激活环境
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
# 退出环境
deactivate
在复现他人的项目时:
- 查看该项目所支持的python版本。
- 创建虚拟环境。
- 查看项目是否含有 requirement.txt 文件。如果有运行以下命令一键安装依赖:
pip install -r requirements.txt
在自己的项目下:
运行以下命令生成依赖列表(全部依赖,包括间接依赖):
pip freeze > requirements.txt
运行以下命令生成依赖列表(仅根据代码生成必要依赖):
# 1. 安装 pipreqs
pip install pipreqs
# 2. 生成 requirements.txt(项目根目录运行)
pipreqs . --encoding=utf8 --force
五、Pycharm常用快捷键
以下列举了一些常用的快捷键。
# 1. 将选中的内容注释
ctrl + /
# 2. 为选中的内容添加()、{}、[]
ctrl + ({[ #按照需求三个中任选一个
# 3. 删除光标所在的行
ctrl + y
# 4. 跳转到上一个方法/下一个方法
alt + up/down
# 5. 查找内容
ctrl + F
# 6. 替换内容
ctrl + R
五、缓存文件管理
一般pycharm缓存内容都会保存在C盘的用户目录下,如果想把缓存修改到指定位置可以按照如下步骤:
- 打开pycharm安装目录。打开 >bin>idea.properties 文件。
- 默认情况下路径都是被注释的。需要重新设置。
idea.config.path=your_path/config idea.system.path=your_path/system idea.plugins.path=your_path/plugins idea.log.path=your_path/log
-
缓存迁移有两种方法:
(1)直接将原本的缓存文件复制到规定的路径。C盘本身没有的文件夹(例plugins),不需要额外创建。
(2)重启pycharm,软件提示会将缓存迁移。
作者有话说: 插件可以根据文中的路径点击之后弹出的窗口中进行管理。日志部分的代码只是为了快速上手,更简洁的日志和代码配置(如 json 接口)可以查找更加详细的教程学习。
作者:五碗火锅