【问题标题】:Getting which file is open in notepad using Python使用 Python 获取在记事本中打开的文件
【发布时间】:2015-09-03 16:32:36
【问题描述】:

我想知道一个文件是否在记事本中打开,一个文件是否在 Adob​​e Reader 中打开。 如果您打开任务管理器,转到进程选项卡,您可以看到包含 EXE 路径和打开文件路径的“命令行”列(如果没有,则转到查看-> 选择列)。 如果我得到这个信息,我可以很容易地解析这个字符串来获得打开的文件名(连同它的路径——奖励!)

我找到了article,它显示了 PowerShell 使用 WMI 的方式。有没有办法使用 Python 2.7 做同样的事情 我知道有一个用于 python 的 WMI 库,但无法弄清楚如何实现:

Get-CimInstance Win32_Process -Filter "name = 'notepad.exe'" | fl *

【问题讨论】:

  • 我不知道您的确切用例,但不幸的是,如果您想确切知道特定进程当前打开了哪个文件,仅检查命令行是不够的。例如,可以使用File -> Open 菜单在不使用命令行的记事本中打开文件。
  • @user193130 真的!感谢您提供的信息。

标签: python python-2.7 wmi wmi-query


【解决方案1】:

我找到了一种使用psutil的方法

import psutil

for pid in psutil.pids():
    p = psutil.Process(pid)
    if p.name() == "notepad.exe":
        print p.cmdline()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    相关资源
    最近更新 更多