zoukankan      html  css  js  c++  java
  • Python之模块二

    10》常用模块:
       1>os模块:
        os.getcwd():获取当前工作目录,即当前python脚本工作的目录路径;
        os.chdir("dirname"):改变当前脚本工作目录,相当于shell下cd;
        os.curdir:返回当前目录:(‘.’)
        os.pardir:获取当前目录的父目录字符串名:('..')
        os.makedirs('dirname1/dirname2'):可生成多层递归目录;
        os.removedirs('dirname1'):若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,以此类推;
        os.mkdir('dirname'):生成单级目录,相当于shell中mkdir dirname;
        os.rmdir('dirname'):删除单级目录,若目录不为空则删除;
        os.listdir('dirname'):列出指定目录下的所有文件和子目录;
        os.remove:删除一个文件;
        os.rename("oldname","newname"):重命名文件/目录;
        os.stat('path/filename'):获取文件/目录信息;

              

        os.sep:输出操作系统特定的路径分隔符,win下为"\",Linux下为“/”;
        os.linesep:输出当前平台使用的行终止符,win下为“ ”,Linux下为" ";
        os.pathsep:输出用于分割文件路径的字符串;
        os.name:输出字符串指示当前使用平台,win->'nt';Linux->'posix';
        os.system("bash command"):运行shell命令,直接显示;

             

        os.popen("bash command").read():将shell命令执行结果存储起来; 

                      

                      

          os.environ:获取系统环境变量;
        os.path.abspath(path):返回path规范化的绝对路径;
        os.path.split(path):将path分割成目录和文件名二元组返回;
        os.path.dirname(path):返回path的目录,其实就是os.path.split(path)的第一个元素;
        os.path.basename(path) :返回path最后的文件名
        os.path.exists(path):如果path存在,返回True;如果path不存在,返回false;
        os.path.isabs(path):如果path是绝对路径,返回True;
        os.path.isfile(path):如果path是一个存在的文件,返回True,否则返回false; 

          

          os.path.isdir(path):如果path是一个存在的目录,则返回True,否则false;
        os.path.join(path1[,path2[, ...]]) :将多个路径组合后返回,第一个绝对路径;
        os.path.getatime(path):返回path所指向的文件或者目录的最后存取日期;
        os.path.getmtime(path):返回path所指向的文件或目录的最后修改日期;     

           2>sys模块:
        sys.argv:命令行参数list,第一个元素是程序本身;
        sys.exit(n):退出程序,正常退出时exit(0);
        sys.version:获取python解释程序的版本信息;
        sys.maxint:最大的int值;
        sys.path:返回模块的搜索路径;
        sys.platform:返回操作平台的名称;
        sys.stdout.write('please:'):用作进度条使用;
        val = sys.stdin.readline()[:-1]            

          3>shutil模块:高级的文件,文件夹,压缩包处理模块;
        *****shutil对压缩包的处理是调用ZipFile和TarFile两个模块来进行的; 

          

        

          shutil.copy.fileobj(fsrc,fdst[,length]):将文件内容拷贝到另一个文件中,可以是部分内容;
        shutil.copyfile(src,dst):拷贝文件;
        shutil.copymode(src,dst):仅拷贝权限;内容,组,用户均不变;
        shutil.copystat(src,dst):拷贝状态的信息,包括mode bits,atime,mtime,flags;
        shutil.copy(src,dst):拷贝文件和权限;
        shutil.copy2(src,dst):拷贝文件和状态信息;
        shutil.ignore_patterns(*patterns):
        shutil.copytree(src,dst,symlinks=False,ignore=None):递归第去拷贝文件;
        shutil.rmtree(path[,ignore_errors[,onerror]]):递归的去删除文件;
        shutil.move(src,dst):递归的去移动文件;
        shutil.make_archive(base_name,format,....):创建压缩包并返回文件路径;   

            base_name:压缩包的文件名,也可以是压缩包的路径;只是文件名时,则保存至当前目录,否则保存在指定路径;
            format:压缩包种类,“zip”,"tar","bztar","gztar";

                      

                  4>shelve模块:是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python
          数据格式;
          持久化:

                              

                            读取:

             

            

                     5>xml处理模块:
            xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,在json还没诞生的时候,大家只能用xml,                       至今很多传统公司如金融行业的很多系统的接口还主要是xml;xml是通过<>节点来区别数据结构的;
             xml文档内容:

            

                   xml节点遍历:

             

                  

                 xml节点修改:

            

                  xml节点删除:

            

                6>configparser(3中名称)模块:----》ConfigParser(2中名称)
          定义:用于生成和修改常见配置文档;
          写入配置文件:       

            

                

                              读取配置文件:

               

              

                删除配置文件中某些内容:

                       

                                  

                                 增加配置文件内容:

              

              

                                  改写配置文件内容:

              

              

                删除配置文件中某个元素下的内容:

                

                    7>hashlib模块:用于加密相关的操作,3里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法;输入                                              的内容一样,加密之后的结果也一样;加密之后无法反解;
          md5加密示例:        

            

           sha512加密示例:

            

                       关于加密,python还有一个hmac模块,它内部对我们创建key和内容再进行处理然后再加密;

            

                   8>subprocess模块:和操作系统进行交互,执行命令和执行脚本时所用,取代了os.system;3中是subprocess.run(),2中是subprocess.call();
           不带参数执行命令:   

                     

                             带参数执行命令:

              

              

                               获取执行命令的真正结果:

              

                                检查执行状态返回码,如果正确则返回0,如果错误则抛异常:

              

            终端输入的命令可分为两种:
              输入即可得到输出:如:ifconfig
              输入进行某环境,依赖再输入,如:python
              需要交互的命令示例:(在父进程中再创建一个子进程)  

                

          9>logging模块:
          很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误,警告等信息输出,python的logging模块提供了标              准的日志接口,我们可以通过它存储各种格式的日志,logging的日志可以分debug(),info(),warning(),error() and critical()5个级别;
        打印日志信息: 

            

          将日志写入文件:(设定级别之后只会存储此级别及以上级别)

            

                                

                               给日志加上时间:

              

              

             将日志同时打印在屏幕和日志文件里:

              

              

                

  • 相关阅读:
    VC++ 常用数学函数
    Skin++的使用 (成功在vs2008试过)
    解决switch使用String做参数 (jdk1.7新增),更改jdk版本后报错的问题
    [转]jdk1.7中 新增 switch 使用String 做参数 的实现
    [转]网页版Firebug
    [转]Eclipse导入工程后,XDoclet错误:Missing library: xdoclet1.2.1.jar. Select the home directory for XDoclet. 1.
    SAP related blogs
    [转]SAP FI/CO 模块设置
    如何调用BADI
    [转]一则关于ABAP程序员的趣谈
  • 原文地址:https://www.cnblogs.com/xiaocheche/p/7630134.html
Copyright © 2011-2022 走看看