python学习代码

#!/bin/python
#example 1.1
#applay
def function(a,b):
    print(a,b)
def example1():
    apply(function, ("whither","cannada?"))
    apply(function, (1,2+3))
    apply(function, (32,),{"b":"hello world"})
    apply(function, (), {"a":"hello world","b":"new world, new way"})

class Rectangle:
    def __init__(self, color="white", width=10, height=10):
        print("create a", color, self, "sized", width, "x", height)

class RoundedRectangle(Rectangle):
    def __init__(self, **kw):
        apply(Rectangle.__init__, (self,), kw)
def example2():
    rect = Rectangle(color="green", height=100, width=100)
    rect = RoundedRectangle(color="blue", height=20,width=10)

def function2(**kwargs):
    print(kwargs)
    apply(function,(),kwargs)
def function3(*args):
    print(args)
    apply(function, args)
def example3():
    function3(1,2)
    function2(a="ddd",b=3)

#exmaple 4
def getfunctionbyname(module_name, function_name):
    module = __import__(module_name)
    return getattr(module, function_name)
def example4():
    print(repr(getfunctionbyname("dumbdbm","open")))


#example 5
class LazyImport:
    def __init__(self, module_name):
        self.module_name = module_name
        self.module = None
    def __getattr__(self, item):
        if self.module is None:
            self.module = __import__(self.module_name)
        return getattr(self.module, item)
def example5():
    string = LazyImport("string")
    print(string.lowercase)
    print(string.module_name)

#example 6
def dump(value):
    print(value,"=>",dir(value))
def example6():
    import sys
    dump(0)
    dump(1.0)
    dump(0.0j)
    dump([])
    dump({})
    dump("string")
    dump(len)
    dump(sys)

#example 7
class A:
    def a(self):
        pass
    def b(self):
        pass
class B(A):
    def c(self):
        pass
    def d(self):
        pass
def getmembers(kclass, members=None):
    #get a list of all class members, ordered by class
    if members is None:
        members=[]
    for k in kclass.__bases__:
        getmembers(k, members)
    for m in dir(kclass):
        if m not in members:
            members.append(m)
    return members

def example7():
    print(getmembers(A))
    print(getmembers(B))
    print(getmembers(IOError))

#example 8
def example8():
    book = "library2"
    pages = 250
    scripts = 350
    print("the %(book)s book contains more than %(scripts)s scripts" % vars())

#example 9
def example9():
    def dump(value):
        print(type(value),value)
    dump(1)
    dump(1.0)
    dump("one")
#example 10
def example10():
    def load(file):
        if isinstance(file, type("")):
            file = open(file, "rb")
            return file.read()
    print(len(load("./__builtin__.py")),"bytes")
    #print(len(load(open("./main.py","rb"))),"bytes")

#example 11
def example11():
    def dump(function):
        if callable(function):
            print(function, "is callable")
        else:
            print(function, "is not callable")
    class A:
        def method(self,value):
            return value
    class B(A):
        def __call__(self,value):
            return value
    a = A()
    b = B()
    dump(0) #simple object
    dump("string")
    dump(callable)
    dump(dump)
    dump(A)
    dump(B)
    dump(B.method)
    dump(a)
    dump(b)
    dump(b.method)

#example 12
def example12():
    class A:
        pass
    class B:
        pass
    class C(A):
        pass
    class D(A, B):
        pass
    def dump(object):
        print(object,"=>",)
        if isinstance(object, A):
            print("A")
        if isinstance(object, B):
            print("B")
        if isinstance(object, C):
            print("C")
        if isinstance(object, D):
            print("D")
    a = A()
    b = B()
    c = C()
    d = D()
    dump(a)
    dump(b)
    dump(c)
    dump(d)
    dump(0)
    dump("string")

#example 13
def example13():
    class A:
        pass
    class B:
        pass
    class C(A):
        pass
    class D(A, B):
        pass
    def dump(object):
        print(object,"=>")
        if issubclass(object, A):
            print("A")
        if issubclass(object, B):
            print("B")
        if issubclass(object, C):
            print("C")
        if issubclass(object, D):
            print("D")
    dump(A)
    dump(B)
    dump(C)
    dump(D)
    #dump(0)
    #dump("string")

#example 14
def example14():
    def dump(expression):
        result = eval(expression)
        print(expression, "=>", result, type(result))
    dump("1")
    dump("1.0")
    dump("'string'")
    dump("1.0+2.0")
    dump("'*'*10")
    dump("len('world')")

#example 15
def example15():
    BODY = """print('the ant, an introduction')"""
    code = compile(BODY, "<script>","exec")
    print(locals())
    print(code)
    exec(code)

#example 16
#import sys,string
import string
class CodeGeneratorBackend:
    "Simple code generator for Python"
    def begin(self, tab ="	"):
        self.code = []
        self.tab = tab
        self.level = 0
    def end(self):
        self.code.append("")#make sure there's a newline at the end
        return compile(string.join(self.code,"
"),"<code>","exec")
    def write(self,string):
        self.code.append(self.tab * self.level + string)
    def indent(self):
        self.level = self.level + 1
    def dedent(self):
        if self.level == 0:
            raise SystemError,"internal error in  code generator"
        self.level = self.level -1
def example16():

    c = CodeGeneratorBackend()
    c.begin()
    c.write("for i in range(5):")
    c.indent()
    c.write("print('code generation made easy!')")
    c.dedent()
    exec(c.end())

#example 17
def example17():
    def open(filename, mode="rb"):
        import __builtin__
        file = __builtin__.open(filename, mode)
        if file.read(5) not in ("GIF87", "GIF89"):
            print("hello world")
            raise IOError, "not a GIF file"
        file.seek(0)
        return file
    fp = open("__builtin__.py")
    print(len(fp.read()),"bytes")

#example 18
class HTTPError(Exception):
    def __init__(self, url, errcode, errmsg):
        self.url = url
        self.errcode = errcode
        self.errmsg = errmsg
    def __str__(self):
        return ("<HTTPError for %s :%s %s> % (self.url, self.errcode, self.errmsg))")
def example18():
    try:
        raise HTTPError("http://www.python.org/foo", 200, "Not Found")
    except HTTPError, error:
        print("url =>",error.url)
        print("errcode =>",error.errcode)
        print("errmsg =>", error.errmsg)

#example 19
def example19():
    import os , string
    def replace(file, search_for, replace_with):
        back = os.path.splitext(file)[0] + ".bak"
        temp = os.path.splitext(file)[0] + ".tmp"
        try:
            os.remove(temp)
        except os.error:
            pass
        fi = open(file)
        fo = open(temp, "w")
        for s in fi.readlines():
            fo.write(string.replace(s, search_for, replace_with))
        fi.close()
        fo.close()
        try:
            os.remove(back)
        except os.error:
            pass
        os.rename(file, back)
        os.rename(temp, file)
    print("replace string .")

#example 20
def example20():
    import  os
    cwd = os.getcwd()
    print(repr(cwd))
    for file in os.listdir(cwd):
        print(file)
    pass
    path = "C:\"
    os.chdir(path)
    print(os.getcwd())
    for file in os.listdir(path):
        print(file)

#example 21
def example21():
    import os ,time
    currentPath = os.getcwd()
    print(currentPath)
    file = currentPath +"/__builtin__.py"
    print("file is %s" % file)
    def dump(st):
        mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime = st
        print("-size: %s bytes" % size)
        print("-owner: %s %s" % (uid, gid))
        print("-owner_s: %(hh)s %(uu)s" % {"hh":uid, "uu":gid})
        print("-created:", time.ctime(ctime))
        print("-last accessed:", time.ctime(atime))
        print("-last modified:", time.ctime(mtime))
        print("-mode:", oct(mode))
        print("-inode/dev:", ino,dev)
    st = os.stat(file)
    print("stat")
    print(st)
    dump(st)

#example 22
def example22():
    import os
    if os.name == "nt":
        command = "dir"
    else:
        command = "ls -l"
    os.system(command)

#example 23
def example23():
    import os, sys
    program = "python"
    currentPath = os.getcwd()
    arguments = ["%s/main.py" % currentPath]
    print(arguments)
    result =os.execvp(program, (program,) + tuple(arguments))
    print(result)
    print("goodbye")

#example 24 without windows system!
#only for unix
def example24():
    import os, sys
    currentPath = os.getcwd()
    scriptPath = "%s/main.py" % currentPath
    def run(program, *args):
        pid = os.fork()
        if not pid:
            os.execvp(program, (program,) + args)
        return os.wait()[0]
    run("python",scriptPath)
    print("goodbye")

#example 25
#only for linux
import os, string

def run(program, *args):
    #find executable
    for path in string.split(os.environ["path"], os.pathsep):
        print(path)
        file = os.path.join(path, program) + ".exe"
        try:
            if os.path.exists(file):
                return os.spawnv(os.P_WAIT, file, (file,)+args)
            else:
                raise os.error ,"the path is not exist"
        except os.error,e:
            print(e)
            pass
    raise os.error, "cannot find exectuable"

def example25():
    run("python", "main.py")

#example 26
#only for windows
def example26():
    import os, string
    def run(program, *args, **kw):
        mode = kw.get("mode", os.P_WAIT)
        for path in string.split(os.environ["path"], os.pathsep):
            file = os.path.join(path, program)+".exe"
            try:
                return os.spawnv(mode, file, (file,)+args)
            except os.error:
                pass
        raise os.error, "cannot find excutable"
#exmaple 27
def example27():
    import os, string
    if os.name in ("nt", "dos"):
        exefile = ".exe"
        print("this os is windows or dos")
    else:
        exefile = ""
    def spawn(program, *args):
        try:
            return os.spawnvp(program, (program,)+args)
        except AttributeError:
            pass
        try:
            spawnv = os.spawnv
        except AttributeError:
            #assume it's unix
            pid = os.fork()
            if not pid:
                os.execvp(program, (program,)+args)
                return os.wait()[0]
        else:
            #got sapwnv but no sapwnp: to look for an executable
            for path in string.split(os.environ["PATH"], os.pathsep):
                file = os.path.join(path, program) + exefile
                if os.path.exists(file):
                    print("the file is %s" % file)
                    try:
                        return spawnv(os.P_WAIT, file , (file,)+args)
                    except os.error:
                        pass
                else:
                    print("the file is no exist.")
            raise IOError, "cannot find executable"
    spawn("python", "main.py")

#example 28
#only for unix
def example28():
    #daemon processes
    import os, time
    pid = os.fork()
    if pid:
        os._exit(0) #kill original
        print("daemon started")
        time.sleep(10)
        print("daemon terminated")

#example 29
def example29():
    import  os, sys
    try:
        sys.exit(1)
    except SystemExit, value:
        print("caught exit(%s)" % value)
    try:
        print("try excute the code.")
        os._exit(2)
    except SystemExit, value:
        print("caught exit(%s)" % value)
    print("bye!")

#example 30
def example30():
    import os
    filename = "my/little/pony.txt"
    #filename = "my/little/pony"
    print("the filename:%s" % filename)
    print("using %s ... " % os.name)
    print("split =>", os.path.split(filename))
    print("splitext =>", os.path.splitext(filename))
    print("dirname =>", os.path.dirname(filename))
    print("basename =>", os.path.basename(filename))
    print("join =",os.path.join(os.path.dirname(filename), os.path.basename(filename)))

#example 31
def example31():
    import os
    FILES = (os.curdir, "/", "file", "/file", "samples", "samples/sample.jpg",
             "directory/file", "../directory/file", "/directory/file"
             )
    for file in FILES:
        print(file,"=>")
        if os.path.exists(file):
            print("EXISTS")
        if os.path.isabs(file):
            print("ISABS")
        if os.path.isdir(file):
            print("ISDIR")
        if os.path.isfile(file):
            print("ISFILE")
        if os.path.islink(file):
            print("ISLINK")
        if os.path.ismount(file):
            print("ISMOUNT")
        print("######end######")


#exmaple 32
def example32():
    import os
    print(os.path.expanduser("~/.pythonrc"))

#example 33
def example33():
    import os
    for i in os.environ:
        print(i)
    os.environ["USER"] = "user"

    print(os.path.expandvars("/home/$USER/config"))
    print(os.path.expandvars("/$USER/folders"))

#example 34
def example34():
    import os
    def callback(arg, directory, files):
        print("#######")
        print(directory,"the files number is %d" % len(files))
        for file in files:
            print(os.path.join(directory, file), repr(arg))
    os.path.walk(".", callback, "secret message")

#example 35
def example35():
    import os
    def index(directory):
        # like os.listdir, but traverses directory trees
        stack = [directory]
        files = []
        while stack:
            directory = stack.pop()
            for file in os.listdir(directory):
                fullname = os.path.join(directory, file)
                files.append(fullname)
                if os.path.isdir(fullname) and not os.path.islink(fullname):
                    stack.append(fullname)
        return files
    for file in index("."):
        print(file)

#example 36
def example36():
    import os
    class DirectoryWalker:
        # a  forward iterator that traverses a directory tree
        def __init__(self, directory):
            self.stack = [directory]
            self.files = []
            self.index = 0

        def __getitem__(self, index):
            while 1:
                try:
                    file = self.files[self.index]
                    self.index = self.index + 1
                except IndexError:
                    # pop next directory from stack
                    self.directory = self.stack.pop()
                    self.files = os.listdir(self.directory)
                    self.index = 0
                else:
                    # got a filename
                    fullname = os.path.join(self.directory, file)
                    if os.path.isdir(fullname) and not os.path.islink(fullname):
                        self.stack.append(fullname)
                    return fullname
    for file in DirectoryWalker("."):
        print(file)


#example 37
def example37():
    import os , stat
    class DirectoryStatWalker:
        def __init__(self, directory):
            self.stack = [directory]
            self.files = []
            self.index = 0
        def __getitem__(self, index):
            while 1:
                try:
                    file = self.files[self.index]
                    self.index = self.index + 1
                except IndexError:
                    self.directory = self.stack.pop()
                    self.files = os.listdir(self.directory)
                    self.index = 0
                else:
                    fullname = os.path.join(self.directory, file)
                    st = os.stat(fullname)
                    mode = st[stat.ST_MODE]
                    if stat.S_ISDIR(mode) and not stat.S_ISLNK(mode):
                        self.stack.append(fullname)
                    return fullname,st
    for file, st in DirectoryStatWalker("."):
        print(file, st[stat.ST_SIZE])


#example 38
def example38():
    import stat
    import os, time
    st = os.stat("./main.py")
    print("mode => ", oct(stat.S_IMODE(st[stat.ST_MODE])))
    print("type => ")
    if stat.S_ISDIR(st[stat.ST_MODE]):
        print("DIRECTORY")
    if stat.S_ISREG(st[stat.ST_MODE]):
        print("REGULAR")
    if stat.S_ISLNK(st[stat.ST_MODE]):
        print("LINK")
    pass
    print("size => ", st[stat.ST_SIZE])
    print("last accessed => ", time.ctime(st[stat.ST_ATIME]))
    print("last modified => ", time.ctime(st[stat.ST_MTIME]))
    print("inode changed => ", time.ctime(st[stat.ST_CTIME]))


#example 39
def example39():
    import string
    text = "Monty Python's Flying Circus"
    print("upper => %s" % string.upper(text))
    print("lower => %s" % string.lower(text))
    print("split => %s" % string.split(text))
    print("join => %s" % string.join(text, '+'))
    print("replace => %s" % string.replace(text, "Python", "Java"))
    print("find => ", string.find(text, "Python"), string.find(text, "Java"))
    print("count => ", string.count(text, 'n'))


#example 40
def example40():
    text = "Monty Python's Flying Circus"
    print("upper => %s" % text.upper())
    print("lower => %s" % text.lower())
    print("split => %s" % text.split())
    print("join => %s" % text.join('+'))
    print("replace => %s" % text.replace("Python", "Java"))
    print("find => ", text.find("Python"), text.find("Java"))
    print("count => ", text.count('n'))

#example 41
def example41():
    import string
    print(int("4711"))
    print(string.atoi("4711"))
    print(string.atoi("11147", 8)) #octal
    print(string.atoi("1267", 16)) #hexadecimal
    print(string.atoi("3mv", 36)) #whatever...

    print(string.atoi("4711", 0))
    print(string.atoi("04711", 0))
    print(string.atoi("0x4711", 0))

    print float("4711")
    print(string.atof("1"))
    print(string.atof("1.23e5"))


#example 42
def example42():
    import re
    text = "the Attila the Hun Show"

    # a single character
    m = re.match(".", text)
    if m:
        print(repr("."), "=>", repr(m.group(0)))

    #any string fo characters
    m = re.match(".*", text)
    if m:
        print(repr(".*"), "=>", repr(m.group(0)))

    #a string of letters (at least one)
    m = re.match("w+", text)
    if m:
        print(repr("w+"), "=>", repr(m.group(0)))

    # a string of digits
    m = re.match("d+", text)
    if m:
        print(repr("d+"), "=>", repr(m.group(0)))

#example 43
def example43():
    import re
    text = "10/15/99"
    m = re.match("(d{2})/(d{2})/(d{2,4})", text)
    if m:
        print(m.group(1, 2, 3))
        print(m.group())
        print(m.group(1))
        print(len(m.group()))

#example 44
def example44():
    import re
    text = "Example 3: There is 1 date 10/25/95 in here!"
    m = re.search("(d{1,2})/(d{1,2})/(d{2,4})", text)
    print(m.group(1), m.group(2), m.group(3), "group")

    month, day, year = m.group(1, 2, 3)
    print(month, day, year)

    date = m.group(0)
    print(date)

#example 45
def example45():
    import re
    text = "you're no fun anymore..."

    #literal replace (string.replace is faster)
    print(re.sub("fun", "entertaining", text))

    #collapse all non-letter sequences to a single dash
    print(re.sub("[^w]+", "-", text))

    #convert all words to beeps
    print(re.sub("S+", "-BEEP-", text))

#example 46
def example46():
    import re, string
    text = "a line of text\012another line of text\012etc..."
    def octal(match):
        #replace octal code with corresponding ASCII character
        return chr(string.atoi(match.group(1), 8))
    octal_pattern = re.compile(r"\(ddd)")
    print(text)
    print octal_pattern.sub(octal, text)

#example 47
def example47():
    import re, string
    def combined_pattern(patterns):
        p = re.compile(string.join(map(lambda x: "("+x+")", patterns), "|"))
        def fixup(v, m = p.match, r = range(0, len(patterns))):
            try:
                regs = m(v).regs
                #print(regs)
            except AttributeError:
                return None # no match, so m.regs will fail
            else:
                for i in r:
                    if regs[i+1] != (-1, -1):
                        return i
        return fixup
    patterns = [r"d+",
                r"abcd{2,4}",
                r"pw+"
                ]
    p = combined_pattern(patterns)

    print(p("129391"))
    print(p("abc800"))
    print(p("abc1600"))
    print(p("python"))
    print(p("perl"))
    print(p("tcl"))

#example 48
def example48():
    import math
    print("e => ", math.e)
    print("pi => ", math.pi)
    print("hypot => ", math.hypot(3.0, 4.0))

#example 49
def example49():
    import cmath
    print("pi => ", cmath.pi)
    print("sqrt(-1) => ", cmath.sqrt(-1))

#example 50
def example50():
    import operator
    sequence = 1, 2, 4

    print("add => ", reduce(operator.add, sequence))
    print("sub =>", reduce(operator.sub, sequence))
    print("mul =>", reduce(operator.mul, sequence))
    print("concat =>", operator.concat("spam", "egg"))
    print("repeat =>", operator.repeat("spam", 5))
    print("getitem =>", operator.getitem(sequence, 2))
    print("indexOf =>", operator.indexOf(sequence, 2))
    print("sequenceIncludes =>", operator.sequenceIncludes(sequence, 3))

#example 51
def example51():
    import operator, UserList
    def dump(data):
        print(type(data), "=>")
        if operator.isCallable(data):
            print("CALLABLE")
        if operator.isMappingType(data):
            print("MAPPING")
        if operator.isNumberType(data):
            print("NUMBER")
        if operator.isSequenceType(data):
            print("SEQUENCE")
        print("---")
    dump(0)
    dump("string")
    dump("string"[0])
    dump([1, 2, 3])
    dump((1, 2, 3))
    dump({"a": 1})
    dump(len)
    dump(UserList)
    dump(UserList.UserList)
    dump(UserList.UserList())


#example 52
def example52():
    import copy
    a = [[1], [2], [3]]
    b = copy.copy(a)

    print("before a=>", a)
    print("before b=>", b)

    if a is b:
        print("a is b")
    else:
        print("a is not b")


    #modify original
    a[0][0] = 0
    a[1] = None

    if a[0][0] is b[0][0]:
        print("a[0][0] is b[0][0]")
    else:
        print("a[0][0] is not b[0][0]")

    print("after a=>", a)
    print("after b=>", b)


#example 53:
def example53():
    import  copy
    a = [[1], [2], [3]]
    b = copy.deepcopy(a)

    print("before a=>", a)
    print("before b=>", b)

    if a is b:
        print("a is b")
    else:
        print("a is not b")

    # modify original
    a[0][0] = 0
    a[1] = None

    if a[0][0] is b[0][0]:
        print("a[0][0] is b[0][0]")
    else:
        print("a[0][0] is not b[0][0]")

    print("after a=>", a)
    print("after b=>", b)

#example 54:
def example54():
    import sys
    print("script name is: ", sys.argv[0])

    if len(sys.argv) > 1:
        print("there are ", len(sys.argv) - 1, "arguments:")
        for arg in sys.argv[1:]:
            print(arg)
    else:
        print("there are no arguments!")


#example 55:
def example55():
    import sys
    print("path has", len(sys.path), "members")
    #add the sample directory to the path

    sys.path.insert(0, "samples")
    import sample
    sys.path = []
    import random

#example 56:
def example56():
    import sys
    def dump(module):
        print("module => ")
        if module in sys.builtin_module_names:
            print("<BUILTIN>")
        else:
            module = __import__(module)
            print(module.__file__)

    dump("os")
    dump("sys")
    dump("string")
    dump("strop")
    dump("zlib")

#example 57:
def example57():
    import sys, pprint
    moduleKeys = sys.modules.keys()
    print(len(moduleKeys))
    print(moduleKeys)
    pprint.pprint(moduleKeys)

#example 58:
def example58():
    import sys
    variable = 1234
    print(sys.getrefcount(0))
    print(sys.getrefcount(variable))
    print(sys.getrefcount(None))

#example 59:
def example59():
    import sys
    if sys.platform == "win32":
        import ntpath
        pathmodule = ntpath
    elif sys.platform == "mac":
        import macpath
        pathmodule = macpath
    else:
        import posixpath
        pathmodule = posixpath

    print(pathmodule)

#example 60
def example60():
    import sys
    def test(n):
        j = 0
        for i in range(n):
            j = j + 1
        return n
    def profiler(frame, event, arg):
        print(event, frame.f_code.co_name, frame.f_lineno, "->", arg)

    sys.setprofile(profiler)
    test(1)

    sys.setprofile(None)
    test(2)

#example 61:
def example61():
    import sys
    def test(n):
        j = 0
        for i in range(n):
            j = j + i
        return n

    def tracer(frame, event, arg):
        print(event, frame.f_code.co_name, frame.f_lineno, "->", arg)
        return tracer

    sys.settrace(tracer)
    test(1)
    sys.settrace(None)
    test(2)

#example 62:
def example62():
    import sys, string
    class Redirect:
        def __init__(self, stdout):
            self.stdout = stdout
        def write(self, s):
            self.stdout.write(string.lower(s))
    old_stdout = sys.stdout
    sys.stdout = Redirect(sys.stdout)
    print("HEJA SVERIGE")
    print("FRISKT HUM303226R")
    sys.stdout = old_stdout
    print("M303205303205303205303205L!")

#example 63:
def example63():
    import sys
    print("hello")
    sys.exit(1)
    print("there")

#example 64:
def example64():
    import sys
    print("hello")
    try:
        sys.exit(1)
    except SystemExit, e:
        pass
        print("get the except:SystemExit %s" % e)
    print("there")

#example 65:
def example65():
    import sys
    def exitfunc():
        print("world")

    sys.exitfunc = exitfunc
    print("hello ")
    sys.exit(1)
    print("there")

#example 66:
def example66():
    import atexit
    def exit(*args):
        print("exit", args)

    #register two exit handler
    atexit.register(exit)
    atexit.register(exit, 1)
    atexit.register(exit, "hello", "world", "!")

#example 67:
def example67():
    import  time
    now = time.time()
    print(now, "Seconds since ", time.gmtime(0)[:6])
    print("-local time:", time.localtime(now))
    print("-utc:", time.gmtime(now))

#example 68:
def example68():
    import  time
    now = time.localtime(time.time())

    print(time.asctime(now))
    print(time.strftime("%y/%m/%d %H:%M", now))
    print(time.strftime("%c", now))
    print(time.strftime("%I %p", now))
    print(time.strftime("%Y-%m-%d %H:%M:%S %Z", now))

    year, month, day, hour, minute, second, weekday, yearday, daylight = now

    print("%04d-%02d-%02d" % (year, month, day))
    print("%02d:%02d:02%d" % (hour, minute, second))
    print(("MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN")[weekday], yearday)

#example 69
def example69():
    import  time
    try:
        strptime = time.strptime
    except AttributeError:
        print("exception about the function: strptime")
        from _strptime import strptime
    print(strptime("31 Nov 00"), "%d %b %y")

#example 70
def example70():
    import time
    t0 = time.time()
    tm = time.localtime(t0)
    print(tm)
    print(t0)
    print(time.mktime(tm))

#example 71
def example71():
    import time
    def procedure():
        time.sleep(2.5)
    #measure process time
    t0 = time.clock()
    procedure()
    print(time.clock() - t0, "Seconds process time")
    #measure wall time
    t0 = time.time()
    procedure()
    print(time.time() - t0, "Seconds wall time")

if __name__ == "__main__":
    print("process %s section start" % "__builtin__")
    print("---")
    boolWhichWay = True
    if boolWhichWay:
        for i in xrange(1, 1000):
            strFunctionName = "example%d" % i
            if strFunctionName in globals():
                pass
            else:
                strFunctionName = "example%d" % (i-1)
                strExcuteFunctionName = "%s()" % strFunctionName
                print("#excute function %s:" % strFunctionName)
                eval(str(strExcuteFunctionName), globals())
                print("---")
                break
    else:
        for i in xrange(1, 1000):
            strFunctionName = "example%d" % i
            if strFunctionName in globals():
                strFunctionName = "example%d" % i
                strExcuteFunctionName = "%s()" % strFunctionName
                print("#excute function %s:" % strFunctionName)
                eval(str(strExcuteFunctionName), globals())
                print("---")
            else:
                break
    print("process end")
原文地址:https://www.cnblogs.com/zhangdewang/p/8759075.html