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

...全文
79 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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()

  • 打赏
  • 举报
回复
发帖
脚本语言
加入

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • ITBOB • 鲍勃
申请成为版主
帖子事件
创建了帖子
2013-10-25 02:49