zoukankan      html  css  js  c++  java
  • 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")
  • 相关阅读:
    leetcode第26题--Remove Duplicates from Sorted Array
    leetcode第25题--Remove Element
    leetcode第24题--Reverse Nodes in k-Group
    leetcode第23题--Swap Nodes in Pairs
    leetcode第22题--Merge k Sorted Lists
    leetcode第21题--Generate Parentheses
    leetcode第20题--Valid Parentheses
    leetcode第19题--Remove Nth Node From End of List
    leetcode第18题--Letter Combinations of a Phone Number
    leetcode第17题--4Sum
  • 原文地址:https://www.cnblogs.com/zhangdewang/p/8759075.html
Copyright © 2011-2022 走看看