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

        

        

  • 相关阅读:
    桟错误分析方法
    gstreamer调试命令
    sqlite的事务和锁,很透彻的讲解 【转】
    严重: Exception starting filter struts2 java.lang.NullPointerException (转载)
    eclipse 快捷键
    POJ 1099 Square Ice
    HDU 1013 Digital Roots
    HDU 1087 Super Jumping! Jumping! Jumping!(动态规划)
    HDU 1159 Common Subsequence
    HDU 1069 Monkey and Banana(动态规划)
  • 原文地址:https://www.cnblogs.com/-9-8/p/8136122.html
Copyright © 2011-2022 走看看