这完美地工作:
def find_processes():
name = "ProcessName.exe"
pid_list = psutil.get_pid_list()
for pid in pid_list:
try:
if str(psutil.Process(pid).name()) == name:
return True
except:
pass
return False
这不会:
def find_processes():
name = "ProcessName.exe"
pid_list = psutil.get_pid_list()
for pid in pid_list:
if str(psutil.Process(pid).name()) == name:
return True
return False
它引发错误: AccessDenied: (pid=560) 我在 Windows 环境中,需要访问所有进程的名称。我已经有一个工作代码(前者),所以我的问题更多是出于好奇。
try
/语句在第一个示例中做了什么except
,如果我在第二个示例中删除它们,为什么它不起作用?