如何判断Python程序运行在cmd中或pycharm中?

我发现Python在pycharm中print输出有颜色的字体在cmd中并没有达到想要的结果,而cmd中需要使用ctypes,但在pycharm中也没有效果,求解!

取巧的办法,判断是不是文件右键运行的
import time
import os

for i in range(100):
# 不是pycharm运行
if __name__ != '__main__':
print(i)
time.sleep(0.1)
os.system('cls')
# 是pycharm右键运行
else:
print(f'\r{i}',end='',flush=True)
time.sleep(0.1)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-14
print 输出颜色是在ipython下,cmd 用python打开的只是普通交互模式,不能显示颜色追问

那如何判断程序在哪个环境下运行呢?在cmd或pycharm?

追答

什么意思?

你分不清什么是代码什么是代码片段。

什么是交互模式,什么是源码编辑

1、这个是CMD下的交互模式,B是增强交互模式,你说的颜色无效,是使用了A普通交互模式。

这个是pycharm的交互模式,如果没有安装ipython 默认就是普通交互模式。

2、交互模式是只能运行代码片段,是用来调试的。

完整的代码,需要编辑保存成.py文件,然后运行。

3、部分代码在pycharm的交互模式下可以正常运行,cmd不行是正常的,注意看pycharm的交互模式的启动

python.exe "D:\PyCharm Community Edition 2019.1.1\helpers\pydev\pydevconsole.py"

它有启动一个第三方的控制台插件pydevconsole.py,要比CMD下的交互模式支持的更丰富一些。

追问

我并没有安装ipython,pycharm启动是"C:\Program Files\Python37\python3.exe"启动的

追答

不知道你在纠结什么。

交互模式只是是用来做一些调试,语法测试之类的,比如想试试列表都有哪些操作。有一些个别操作不能实现是很正常的。

pycharm 有两个

你用的应该是第2个,那个是终端,和CMD类似。

前面一个是控制台,直接启动交互模式,前面一个的支持要更多一些

你发的图示,通过color.py实现的颜色。ipython是可以直接设置颜色的

本回答被提问者采纳
相似回答