如何获取单个应用程序(.exe)当前打开的文件列表
例如,我运行了媒体播放器MPV,它正在播放一个视频文件,知道它的PID如何获取进程所保存的文件
运行此代码
p = psutil.Process(15228) # manually set PID of MPV for testing
pprint.pprint(p.open_files())
它返回以下数组
[popenfile(path='C:\\Windows\\System32\\pt-BR\\msvfw32.dll.mui', fd=-1),
popenfile(path='C:\\Windows\\Fonts\\arial.ttf', fd=-1),
popenfile(path='C:\\Windows\\System32\\pt-BR\\kernel32.dll.mui', fd=-1),
popenfile(path='C:\\Windows\\System32\\pt-BR\\MMDevAPI.dll.mui', fd=-1),
popenfile(path='C:\\Windows\\System32\\pt-BR\\avicap32.dll.mui', fd=-1)]
如果我通过使用p.cmdline()
获取cmdline并删除指向该文件的文件夹,就可以成功获取当前播放的文件,但这只能在直接打开视频文件时使用,如果先打开播放器,然后将文件拖到其中,则没有要解析的cmdline
就目前而言,它可以是Windows平台依赖的解决方案
目前没有回答
相关问题 更多 >
编程相关推荐