python的逻辑处理问题

ladofwind 2013-10-25 02:49:41
我遇到了一个问题,要删除一个系统中的service

/sbin/chkconfig --del servicename

但是系统中原来有没有这个service不知道,所以要判断,

/sbin/chkconfig --list servicename 能列出,如果没有命令返回错误

python中如何实现这个逻辑

if 有这个service then
delete service
else
do nothing

...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ladofwind 2013-10-25
  • 打赏
  • 举报
回复
谢谢了,非常有用
小观观 2013-10-25
  • 打赏
  • 举报
回复
[quote=引用 3 楼 ladofwind 的回复:] 一样
小观观 2013-10-25
  • 打赏
  • 举报
回复
[quote=引用 2 楼 ladofwind 的回复:] [quote=引用 1 楼 liguanpei 的回复:] 严格来讲,python每个函数都是有返回值的,如果末尾不加return,则返回None。
ladofwind 2013-10-25
  • 打赏
  • 举报
回复
还有return None 和 return 是不是一样?
ladofwind 2013-10-25
  • 打赏
  • 举报
回复
引用 1 楼 liguanpei 的回复:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
import os
from commands import getoutput

def main():
    if len(sys.argv) != 2:
        print 'args error'
        sys.exit(0)
    name = sys.argv[1]

    con = getoutput("/sbin/chkconfig --list %s" % name)
    if "No such file or directory" in con:
        print '%s DoseNotExist' % name
    else:
        os.system("/sbin/chkconfig --del %s" % name)

if __name__ == '__main__':
    main()

good point, 顺便问个问题,如果python的方法不需要返回什么值,末尾加不加return是不是一样的?
小观观 2013-10-25
  • 打赏
  • 举报
回复

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
import os
from commands import getoutput

def main():
    if len(sys.argv) != 2:
        print 'args error'
        sys.exit(0)
    name = sys.argv[1]

    con = getoutput("/sbin/chkconfig --list %s" % name)
    if "No such file or directory" in con:
        print '%s DoseNotExist' % name
    else:
        os.system("/sbin/chkconfig --del %s" % name)

if __name__ == '__main__':
    main()

37,716

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧