小编Dee*_*Dee的帖子

'Popen'对象不可迭代

我试图通过subprocess命令将一些ID提取到列表中。下面是我的代码:

list1=[]
list2=[]
list1 = subprocess.Popen("pgrep -u root",stdout=subprocess.PIPE, shell = True)
for i in list1:
    file1 = open(os.path.join('/proc',i,'status')).readlines()
    for line in file1:
        if line.startswith("Mem: "):
             id = int(line.split()[5])
        if line.startswith("Cpu: "):
             toC = int(line.split()[8])
list2 = (id,toC)
for k in list2:
    self.text.insert(INSERT,k[0])
    self.text.insert(INSERT,k[1])
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:'Popen'对象不可迭代。我正在创建一个列表,并将ID提取到列表中,然后对于列表中的每个ID,我都试图获取mem和cpu信息。该信息再次输入到另一个空列表(list2)。我正在遍历list2以显示这些信息。我要去哪里错了?

python linux subprocess list python-3.x

1
推荐指数
1
解决办法
4444
查看次数

标签 统计

linux ×1

list ×1

python ×1

python-3.x ×1

subprocess ×1