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