Category: Python

  • 在python中使用syslog

    在开始记录前,调用openlog()函数初始化syslog

    openlog([ident[, logopt[, facility]]])

    ident标识字符串

    logopt代表选项

    现在初始化之后

    syslog([priority], message)

    message是想记录的简单字符串。priority表明这条信息的重要性。它被syslog配置文件用来确定对一个给定的信息该如何处理。

    http://docs.python.org/library/syslog.html

  • 显示电脑所安装python所支持的socket选项列表

    setsockopt()和getsockopt()

    用如下程序

    #!/usr/bin/env python
    #for use:
    #author: jpuyy date  jpuyy.com [email protected]
    #modified by xx at date
    #version:
    #history:
    #relate on:
    
    import socket
    solist = [x for x in dir(socket) if x.startswith('SO_')]
    solist.sort()
    for x in solist:
        print x

    执行后显示

    SO_ACCEPTCONN
    SO_BROADCAST
    SO_DEBUG
    SO_DONTROUTE
    SO_ERROR
    SO_KEEPALIVE
    SO_LINGER
    SO_OOBINLINE
    SO_RCVBUF
    SO_RCVLOWAT
    SO_RCVTIMEO
    SO_REUSEADDR
    SO_SNDBUF
    SO_SNDLOWAT
    SO_SNDTIMEO
    SO_TYPE

    setsockopt()用法

    socket.setsockopt(level, optname, value)

    getsockopt()用法

    socket.getsockopt(level, optname[, buflen])

    参见

    http://docs.python.org/library/socket.html

    :)EOT

  • python的socket中的getservbyname()函数

    getservbyname()函数

    可以根据端口名,如tcp,udp 和端口名,如http 。找到这个端口的端口号。

    如下程序

    #!/usr/bin/env python
    
    import socket
    port = socket.getservbyname('http','tcp')
    print "http's port is %d" % port

    运行后会显示

    http’s port is 80

    参见:http://docs.python.org/library/socket.html

    :)EOT