Python值问题

2024-10-03 23:29:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用python编写一个程序(只是学习它看起来不错的语言),但是遇到了一个小问题。你知道吗

我的代码大部分都能工作,但决定打印找到的进程,而不仅仅是第一个找到的进程。我想要打印出来的只是它是否找到了一个进程。你知道吗

例如,我搜索了sshd,我的输出是

found
found
found

因为有3个进程正在运行。你知道吗

我的密码是

import os
import signal

vProcessName = "sshd"

for line in os.popen("ps xa"):
    fields = line.split() 
    if vProcessName  in fields[4]: 
        print("Found")     

非常感谢您的帮助。你知道吗


Tags: 代码inimport程序语言密码fieldsfor
1条回答
网友
1楼 · 发布于 2024-10-03 23:29:53

使用^{} statement,可以摆脱循环:

for line in os.popen("ps xa"):
    fields = line.split()

    if vProcessName  in fields[4]:
        print("Found")
        break # <  

交替使用^{}

if any(vProcessName in line.split() for line in os.popen("ps xa")):
    print("Found")

相关问题 更多 >