python - 如何检测我的 python 代码是否在 PowerShell 或命令提示符 (cmd) 中运行

标签 python windows powershell cmd

我有一个 python 应用程序,它有一个 shell,需要根据它运行的 shell 是 Windows 命令提示符 (cmd) 还是 Powershell 进行一些设置.

我一直无法弄清楚如何检测应用程序是否在 powershellcmd 中运行。

根据我在 stackoverflow 和 Google 上的搜索,似乎唯一的方法是使用 psutil 来查找父进程的名称。

还有更好的方法吗?

编辑:我决定使用 psutil 来查找父进程的名称。感谢所有在评论中提供帮助的人。

最佳答案

@Matt A. 是对的。使用psutilos 包获取父进程id 和名称。

parent_pid = os.getppid()
print(psutil.Process(parent_pid).name())

关于python - 如何检测我的 python 代码是否在 PowerShell 或命令提示符 (cmd) 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37394484/

相关文章:

python - 处理从 python 调用的 c++ 返回的结构

c# - 目录文件大小计算 - 如何让它更快?

c++ - 如果一个程序是由 system() 或 CreateProcess() 从另一个程序启动的,如何防止 Ctrl+Break/Ctrl+C 关闭这两个程序?

powershell - Start-DscConfiguration 无法连接服务器机器

sorting - 排序PowerShell版本

regex - Force -Match 运算符使表达式失败

python - 如何从数据框中绘制堆叠条形组

python - UDP Socket 没有收到任何带有 python 的消息

python - 如何使 Flask/Jinja2 加载可执行 zip 存档中的捆绑模板?

windows - 操作系统/Windows 内部视频