pycharm 中修改新建 python 文件的默认内容需调整 file and code templates → files → python script 模板,而非运行时模板;该模板仅影响右键 new → python file 的新建动作,变量如 ${name}、${user} 等须使用官方支持列表且避免非法字符。

PyCharm 运行程序时不会用到“模板”——你真正想改的,是新建 Python 文件时自动生成的代码内容,也就是 File and Code Templates 里的 Python Script 模板。运行本身不依赖模板,但很多人误以为“运行时加载了某个模板”,其实是新建文件时填了固定头,然后顺手点了运行。
怎么改新建 .py 文件的默认内容
这是最常被混淆的点:所谓“运行时模板”,实际是新建文件时插入的脚手架代码。修改它,所有新 .py 文件都会带你的定制头。
- 打开
File → Settings(macOS 是PyCharm → Preferences) - 导航到
Editor → File and Code Templates → Files - 选中
Python Script,直接编辑右侧文本框 - 保存后,下次右键 →
New → Python File就会套用这个内容
示例(精简实用版):
# -*- coding: utf-8 -*-
"""
@File : ${NAME}.py
@Author : ${USER}
@Date : ${DATE}
@Desc : ${DESCRIPTION}
"""
if __name__ == "__main__":
pass
注意:${NAME} 是文件名(不含扩展名),${DESCRIPTION} 在新建时可手动填写;不用的变量(如 ${PROJECT_NAME})删掉即可,留着反而可能显示为空。
为什么改了模板,新建文件还是没生效
常见原因不是设置错了,而是你没在「正确位置」新建文件。
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
- 必须通过
New → Python File(右键目录或项目根目录)触发,才走模板流程 - 如果用
Ctrl + N→ 选File,而不是Python File,就不会套用Python Script模板 - 已存在的文件不会被模板覆盖——模板只对「新建」动作生效
- 如果你改的是
Files下的Python Script,但新建时弹出的是空白文件,大概率是因为你当前所在目录被标记为「Excluded」或不在源码根下(PyCharm 不识别为可生成 Python 文件的位置)
Live Templates 和 File Templates 别混用
这两个都叫“模板”,但用途完全不同:
-
File and Code Templates(文件模板):控制「新建整个文件」时的初始内容,比如#!/usr/bin/env python头、作者信息等 -
Live Templates(实时模板):在已有文件里敲缩写 +Tab插入代码块,比如输入main+Tab生成if __name__ == "__main__":结构
如果你想要的是「写函数时自动补全带 docstring 的结构」,那就该去 Editor → Live Templates → Python 里配 def 相关模板,而不是改文件模板。
容易被忽略的细节:变量不渲染?检查 IDE 缓存和权限
${USER} 显示为空、${DATE} 没更新,通常不是模板语法错,而是:
- PyCharm 没读取到系统环境变量(尤其 macOS 或 Linux 下用 launchd 启动 PyCharm 时)——改用
Settings → Appearance & Behavior → System Settings → Reopen project on startup关闭再重启,或直接从终端启动:charm . - 模板里写了非法字符(比如中文冒号、全角空格),导致变量解析失败——全部用英文标点重写一遍再试
- 用了未定义变量(如
${AUTHOR}),PyCharm 不识别,就原样输出——只用官方支持的变量:${USER}、${DATE}、${TIME}、${NAME}、${YEAR}等
变量列表以 Settings → Editor → File and Code Templates → Help → Define variables 弹窗为准,别信网上过时文档里的冷门变量。










