有没有办法检查你正在运行的python程序?

问题描述

我想为终端和空闲创建一个脚本,但我不知道如何。使用 $ch = curl_init(); $url = "https://api.blahblahblah"; curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_URL,$url); $result = curl_exec($ch); curl_close($ch); $obj = json_decode($result,true); foreach ($obj as $key => $value) { echo $value[0] . "<br>"; echo $value[1] . "<br>"; } 可以查看它是否在 IDLE 中运行,但是有没有办法通过替换 if 'idlelib' in sys.modules: 来使用相同的代码来查找它是否在终端中?

解决方法

您可以尝试使用 psutilos

import psutil
import os
if psutil.Process(os.getpid()).parent().name() in ["cmd.exe","bash"]:
    print("in cmd")

使用 idle 它返回 'pythonw.exe' 这表明这是有效的。