列出打开的窗口并保存到文件(wmctrl)以供以后调用

列出打开的窗口并保存到文件(wmctrl)以供以后调用

我正在尝试从打开的窗口中获取列表并将其保存到文件中。我遇到的问题是“字符串”和“列表”不兼容。我尝试了各种将信息连接在一起的方法,但效果有限。所包含的代码是从互联网上拼凑而成的。

string1=' '.join([str(item) for item in line1])是编译和运行的项目,当我的程序运行但它生成一个包含“0”的文件时,它应该像这个示例输出,

0x01800011 -1 991    0    0    1920 1080 Main Desktop — Plasma
0x01800019 -1 991    1920 1056 1920 24   Main Plasma
0x00400003  0 1156   880  154  800  600  Main NordPass Password Manager
0x03c0002c  0 1432   2101 56   1529 731  Main List open windows and save to file(wmctrl) for latter recall - Unix & Linux Stack Exchange — Mozilla Firefox
0x03a00003  0 3449   1959 622  1609 724  Main mwin1 - Scripts - Visual Studio Code
0x04c00006  0 4757   1073 608  760  437  Main Scripts — Dolphin
0x03c000a1  0 1432   2115 177  1529 731  Main 1 hidden tab - Workona — Mozilla Firefox
0x04e00007  0 6441   962  55   916  453  Main ~

我希望写入一个文件,然后读回该信息。

from asyncio import create_subprocess_shell
from distutils.file_util import write_file
from fileinput import FileInput
import os
from re import X
import subprocess

def getwin():
    line1=[os.system('wmctrl -p -G -l')]
    string1=' '.join([str(item) for item in line1])
    with open(r'winmove', 'w') as fp:
        for i in line1 :
            fp.write(string1) #line1
        fp.close

if __name__ == '__main__':

    getwin()

我认为这条线“

line1=[os.system('wmctrl -p -G -l')]

无法正常工作,项目-/-会写入控制台,但是,如果添加行以将列表打印到控制台

打印第1行

那么 cli 中的行就是 0。

相关内容