VSCode中Python脚本能否设置仅在交互式模式运行的代码段?
区分VSCode交互式与脚本模式执行代码的简洁方案
可以通过检查Python运行环境的sys.ps1变量来实现——这个变量仅在交互式环境中被定义,脚本模式下不存在。
实现代码
import sys # 仅在交互式/Notebook单元格模式下执行的代码 if hasattr(sys, 'ps1'): print("仅交互式模式运行的内容") # 在此添加你的专属逻辑
原理说明
sys.ps1是Python交互式解释器的主提示符变量,只有进入交互式会话(包括VSCode的交互式单元格运行)时才会被初始化。- 当脚本以常规方式(如
python script.py)运行时,sys模块中不存在该属性,判断条件不成立,专属代码不会执行。 - 该方案无需额外依赖,直接利用Python环境本身的差异,比其他变通方式更简洁直观。
内容的提问来源于stack exchange,提问作者Ophir Yoktan
相关产品推荐
相关产品推荐

