如何使用 Python 找到正在运行的进程的位置

问题描述

我需要在我正在制作的程序中找到网络浏览器的位置。

我决定通过运行浏览器窗口然后找到它的路径来做到这一点。我已经看过 psutil,但仍然不知道如何去做。

我这样做是因为我似乎无法使用 webbrowser 库打开一个新窗口,它会在新选项卡中打开,无论我在哪里告诉它。所以我打算使用这里解释的命令:http://kb.mozillazine.org/Command_line_arguments#List_of_command_line_arguments_.28incomplete.29

我在 Windows 10 上使用 Python 3.8.6

解决方法

终于找到了使用psutil的解决方案!

import psutil

def findPath(name):
    for pid in psutil.pids():
        if psutil.Process(pid).name() == name:
            return psutil.Process(pid).exe()

print(findPath('firefox.exe'))

这将遍历所有 pid 并检查 pid 名称是否与传递给 findPath 函数的名称变量相同。