gpt4 book ai didi

返回 bool 值和消息的 Pythonic 方式

转载 作者:IT王子 更新时间:2023-10-29 00:26:07 28 4
gpt4 key购买 nike

<分区>

我有一个简单的脚本来检查各种 Linux 进程,找到其中一个,记录一条特定的消息(“特定”是指引用服务名称)。

我的问题:让多条件函数返回 bool 值 字符串(用于打印消息)的正确 Pythonic 方法是什么?

这是我当前解决方案的精简版(使用元组):

import subprocess
import time

def _isProcessRunning(cmd):
return int(
subprocess.check_output(
'{} | grep -v grep | wc -l'.format(cmd),
shell=True
)
) > 0

def processGroupFound():
if _isProcessRunning('ps auwxx | grep duplicity'):
return (True, 'Duplicity')
elif _isProcessRunning('who | grep pts'):
return (True, 'SSH')
elif _isProcessRunning('netstat -na | grep ESTA | grep 5901'):
return (True, 'VNC')
else:
return (False, '')

def worker():
while True:
process_found, service_string = processGroupFound()
if process_found:
print('{} found; skipping'.format(service_string))
else:
print('Continuing on')
time.sleep(10)


if __name__ == "__main__":
worker()

这行得通,但我关心的是正确地完成它(特别是在风格上,但如果您在这个简短的示例中收集到不正确的逻辑,也请随时在那里发表评论。感谢您的帮助!

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com