Python新手,需要一些帮助吗
你好 我需要一些帮助,可能在这里跳入深水区 我正在尝试编写一个插件,用于检查MacOSX服务器上是否有服务。该插件需要用python编写,我已经设法创建了一些东西,将给我的结果,但我需要一些帮助来完成它Python新手,需要一些帮助吗,python,Python,你好 我需要一些帮助,可能在这里跳入深水区 我正在尝试编写一个插件,用于检查MacOSX服务器上是否有服务。该插件需要用python编写,我已经设法创建了一些东西,将给我的结果,但我需要一些帮助来完成它 import os os.system("serveradmin status afp") os.system("serveradmin status dhcp") os.system("serveradmin status dirserv") os.system("serveradmin st
import os
os.system("serveradmin status afp")
os.system("serveradmin status dhcp")
os.system("serveradmin status dirserv")
os.system("serveradmin status dns")
os.system("serveradmin status ftp")
因此,如果将以下内容保存到test.py中,然后在terminal中键入:python test.py,我会得到一个结果
我正在创建的插件需要一个类和一个返回Python字典的run(self)类方法
这就是我摔倒的原因。谁能给我指出正确的方向
谢谢这将是一种类似的方式
class someclass:
def run(self):
return dict((svc, os.popen('serveradmin status ' + svc, 'r').read().strip())
for svc in ('afp', 'dhcp', 'dirserv', 'dns', 'ftp'))
作为一个非问题来结束这一切有点苛刻。帮助改进问题会更好。@Alexis:您需要从正在运行的命令中收集输出和/或状态。将结果放入字典并返回字典。马塞洛·坎托斯的回答或多或少就是这样。这取决于插件应该返回什么。我正在尝试返回服务的状态。它是否正在运行。我得到的结果是:web:state=“RUNNING”afp:state=“RUNNING”dhcp:state=“STOPPED”dirserv:state=“RUNNING”dns:state=“RUNNING”ftp:state=“STOPPED”谢谢,它似乎运行了,但没有结果。这可能只是因为它没有设置为显示输出。有没有办法做到这一点?如果函数打算返回字典,那么我猜它不应该显示输出。我不知道你写这个插件的目的是什么,所以我不能提供更详细的帮助。
子流程
会更好,thamos.popen
。