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下为“\t\n”,Linux下为"\n";
    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个级别;
    打印日志信息: 

        

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

        

给日志加上时间:

          

          

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

          

          

            

Python之模块二的更多相关文章

  1. Python常用模块二

    一.time & datetime #_*_coding:utf-8_*_ import time # print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了t ...

  2. Python常用模块(二)

    一.json与pickle json与pickle模块是为了完成数据的序列化. 序列化是指把对象(变量)从内存中变成可存储或传输的过程,在Python中叫picking,在其他语言中也由其他的叫法,但 ...

  3. Python之模块(二)

    1.subprocess模块 2.loggin模块 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日 ...

  4. python:常用模块二

    1,hashlib模块---摘要算法 import hashlib md5 = hashlib.md5() md5.update('how to use md5 in python hashlib?' ...

  5. python常用模块二正则表达式

    正则表达式 常用的正则元字符 # =================================匹配模式================================= #一对一的匹配 # 'h ...

  6. python并发模块之concurrent.futures(二)

    python并发模块之concurrent.futures(二) 上次我们简单的了解下,模块的一些基本方法和用法,这里我们进一步对concurrent.futures做一个了解和拓展.上次的内容点这. ...

  7. Py修行路 python基础 (二十三)模块与包

    一.模块 1)定义: 模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 2)为何要用模块: 退出python解释器然后重新进入,那之前定义的函数或者变量都将丢失,因 ...

  8. Python - 模块(二)

    目录 Python - 模块(二) re re下面的方法 logging os Python - 模块(二) re re模块提供了正则表达式的相关操作 主要字符介绍: . 通配符,除了换行符之外的任意 ...

  9. python接口自动化测试二十七:密码MD5加密 ''' MD5加密 ''' # 由于MD5模块在python3中被移除 # 在python3中使用hashlib模块进行md5操作 import hashlib # 待加密信息 str = 'asdas89799,.//plrmf' # 创建md5对象 hl = hashlib.md5() # Tips # 此处必须声明encode # 若写法为

    python接口自动化测试二十七:密码MD5加密   ''' MD5加密 '''# 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作import has ...

随机推荐

  1. 【转】C#命名规范

    原文地址:http://www.jb51.net/article/57163.htm 本文详细汇总了C#常用的命名规则.分享给大家供大家参考.具体如下: Pascal 规则每个单词开头的字母大写(如 ...

  2. linux grep日志查询

    ll access.2018-09-*.gz zcat access.2018-09-*.gz |grep --color '1073011900' | head -n  100  匹配字符由于管道h ...

  3. 用CSS制作小三角提示符号

    今天在项目中遇到了如下图的切图要求. 对,重点就是那个小三角提示符号. html 结构如下 <div class="wrap"> <div class=" ...

  4. Memcached的过期数据的过期机制及删除机制(LRU)

    Memcached的过期数据的过期机制及删除机制1.当某个值过期后,并没有从内存删除,因此,使用stats命令统计时,curr_item参数有信息(不为0)2.当某个新值去占用他的位置时,当成空chu ...

  5. 跟我学算法-Logistic回归

    虽然Logistic回归叫回归,但是其实它是一个二分类或者多分类问题 这里的话我们使用信用诈骗的数据进行分析 第一步:导入数据,Amount的数值较大,后续将进行(-1,1)的归一化 data = p ...

  6. LightGBM

    1.简介 lightGBM包含两个关键点:light即轻量级,GBM 梯度提升机 LightGBM 是一个梯度 boosting 框架,使用基于学习算法的决策树.它可以说是分布式的,高效的,有以下优势 ...

  7. sublime +react+es6开发环境

    Babel Sublime3才有的插件,支持ES6.JSX语法高亮. 菜单->View->Syntax->Open all with current extension as...- ...

  8. Linux运维入门(二):网络基础知识梳理02

    一,交换机的基本原理 1.1 数据链路层的功能 (1)数据链路层负责网络中相邻节点之间可靠的数据通信,并进行有效的流量控制. (2)数据链路层的作用包括数据链路的建立,维护与拆除,帧包装,帧传输,帧同 ...

  9. Nginx 源码完全注释(10)ngx_radix_tree

    ngx_radix_tree.h // 未被使用的节点 #define NGX_RADIX_NO_VALUE (uintptr_t) -1 typedef struct ngx_radix_node_ ...

  10. windows下怎么安装protobuf for python

    首先从google上下载protobuf-3.0.0.zip和protoc-3.0.0-win32.zip,然后把protoc-3.0.0-win32.zip里的protoc.exe放到protobu ...