zoukankan      html  css  js  c++  java
  • python包

    sys模块,主要实现与解释器相关的操作:

      sys.argv,用来获取命令行参数,是一个list

        sys.argv[0]   代表文件本身路径,

        sys.argv[1]   开始,代表传入的参数; 

       sys.exit(),python带返回码返回,0默认的正常退出,1表示异常退出。

       sys.stdin,sys.stdout,sys.err,分别代码标准输入输出的句柄。 

        1) 标准输出的写,可以直接print "num",也可以 sys.stdout.write(hello world“”) 

        2) 通过对stdout对象进行赋值,可以直接重定向。

          with open("file", 'r') as file:

            sys.stdout = file;

            print "this"

        3)直接在print函数中,指定句柄,print ("i am hym", file=f)

    os模块,提供系统级别的操作,或者系统信息。

      os.system(),运行shell命令,

      os.environ,返回系统的环境变量,是一个dict指针

        env_dist = os.environ

        print env_dist['Java']

        print env_dist.get('Java')

    subprocess,系统命令操作,

        输入参数,shell=False,默认情况,cmd只能是一个string

               shell=True,cmd只能是一个list。

       call(),执行cmd,等待cmd完成,返回返回码。

       check_call(),与call()类似,但是返回值不为0时,会raise objection。

       getstatusoutput(),返回(status,output)

       getoutput()

       check_output(),与getoutput类似,但是返回值不为0时,会raise objection。

     Popen的object,内部的attribute,stdin,stdout,stderr,pid,returncode。

                内部的function,poll(),检查child process是不是结束,返回返回码。

                      wait(),等待child process结束。

                      communicate(),与子进程交流,将括号中的数据发送到子进程的stdin中,为None,不发送。

                              返回一个tuple,(stdout,stderr)

      Popen返回的是一个process的对象,可以实现很多自由控制;

        p1 = Popen("mesg", stdout=PIPE)   PIPE表示管道。

        p2 = Popen("grep, hda", stdin=p1.stdout, stdout=PIPE)

        output = p2.communicate()[0]

        p1.wait()    p2.wait()

    python中的自带函数和变量

    启动python之后,python会自动import一个__builtin__的模块, 其中包含了4个copyright相关的名字:

                                6个内建的常数,None,True,False等。

                                68个内建函数,abs(),len()等。

                                64个Exception 命名。

        (python3中,该模块的名字改为builtins)

    dir()函数,返回当前范围内的变量,方法,类型的列表,可以加object来返回某个object的。

      dir(list),dir(dict),dir(re),dir(list),dir(dict),dir(tuple),dir(object) 等。

      打印帮助文档,print (re.__doc__),__doc__这样的方法可以通过dir()来查询到, 还有__name__

    dir(__builtin__)可以查看python中内建的函数,

    dir(str),dir(list)可以查看某个类型的内建函数。

    help()函数,详细的打印当前函数,模块的说明。内建函数。

    ABC,Abstract Base Class(抽象基类),主要定义基本类和基本的抽象方法,定义一个特殊的metaclass

      metaclass还定义了一些装饰器,@abstractmethod,@abstractproperty

      abc.ABCMeta用于在Python程序中创建抽象基类。

    其他的抽象基类,必须从该模块来扩展, Python2的扩展方式,  class Myclass(object):

                                  __mtaclass__ =  abc.ABCMeta

                       Python3的扩展方式,  class Myclass(metaclass == abc.ABCMeta):

      定义纯虚的function和attr,可以使用装饰器,@abc.abstractmethod,@abc.abstractproperty

    为了统一Python2和Python3的统一性,可以import six,在虚类中加装饰器

      import six

      @six.add_metaclass(Meta)

      class Myclass(object):

    还有一种虚拟子类,通过register的方式注册的产生虚类的情况。

    python中的标准库有很多种,设计到方方面面,官方的dos网址:

      https://docs.python.org/3/library/index.html

        

        

  • 相关阅读:
    aspnet_Applications表结构
    SQL Server 2005下的分页SQL
    海量数据查询
    对比.NET PetShop和Duwamish来探讨Ado.NET的数据库编程模式
    style.behavior的用法
    网页制作小技巧:dl dt dd标签用法
    c#中out与ref的用法与区别
    VS2005集成VSS2005的方法
    自己动手写一个JQuery插件(第一篇)(转)
    java 实现二分查找法(转)
  • 原文地址:https://www.cnblogs.com/-9-8/p/8136122.html
Copyright © 2011-2022 走看看