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个级别;
        打印日志信息: 

            

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

            

                                

                               给日志加上时间:

              

              

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

              

              

                

  • 相关阅读:
    BZOJ 2212/BZOJ 3702
    BZOJ 4761 Cow Navigation
    BZOJ 3209 花神的数论题
    BZOJ 4760 Hoof, Paper, Scissors
    BZOJ 3620 似乎在梦中见过的样子
    BZOJ 3940 Censoring
    BZOJ 3942 Censoring
    BZOJ 3571 画框
    BZOJ 1937 最小生成树
    BZOJ 1058 报表统计
  • 原文地址:https://www.cnblogs.com/xiaocheche/p/7630134.html
Copyright © 2011-2022 走看看