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

    模块是实现某一个功能所有代码的集合
    模块有两种存在方式
    1,.py文件
    2,文件夹

    Python有两种模块,一种是内置的模块,一种是用户定义的模块4


    导入内置模块
    import sys
    导入模块的某一个模块
    from sys import argv

    系统默认寻找模块的位置
    sys.path

    如果导入的是一个文件夹必须要有一个文件
    __init__.py

    一般情况这是一个内容为空的文件


    内置模块

    一,os
    用于提供系统级别的操作


    os.getcwd() 获取当前的工作目录
    os.chdir('dirname') 改变工作目录
    os.curdir() 获取当前目录
    os.pardir()获取当前目录的父目录字符串名
    os.mkdir('dirname')生成当前目录
    os.rename() 重命名
    os.system('ls') 执行命令
    .
    .
    等等

    二,sys
    用于提供对解释器相关的操作
    sys.argv 命令行参数
    sys.exit(n) 退出程序
    sys.version 解释器的版本
    sys.maxint 最大Int值
    sys.path 返回模块的搜索路径
    sys.paltform 获取操作系统平台

    使用模块获取配置文件关键字信息

    vim day5-12.py

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import ConfigParser
    
    config = ConfigParser.ConfigParser()
    config.read('i.cfg')
    
    # #############读取#############
    secs = config.sections()
    print secs
    

     vim i.cfg

    [section1]
    k1 = 123
    k2 = alex
    
    [section2]
    name = eric
    age = 18
    

    执行结果 

     vim day5-12.day

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import ConfigParser
    
    config = ConfigParser.ConfigParser()
    config.read('i.cfg')
    
    # #############读取#############
    secs = config.sections()
    print secs
    
    
    options = config.options('section1')
    print options
    

      

    获取key

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import ConfigParser
    
    config = ConfigParser.ConfigParser()
    config.read('i.cfg')
    
    # #############读取#############
    secs = config.sections()
    print secs
    
    
    options = config.options('section1')
    print options
    
    items_list = config.items('section1')
    print items_list
    

    获取到key和values

    val = config.get('section1','k1')
    print val

    直接拿到val

    PS:这里拿到的是字符串

    sec = config.has_section('liuyueming')
    sec = config.add_section('liuyueming')
    config.write(open('i.cfg'),"w"))

    查看有没有 添加 然后写入文件

    加密模块

    vim day5-13.py

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import md5
    hash = md5.new()
    hash.update('admin')
    print hash.hexdigest()

     

    PS:md5在下一个版本已经废弃了

    新版本全部使用了hashlib了

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import md5
    hash = md5.new()
    hash.update('admin')
    print hash.hexdigest()
    
    import hashlib
    
    hash = hashlib.md5()
    hash.update('admin')
    print hash.hexdigest()
    
    hash = hashlib.sha256()
    hash.update('admin')
    print hash.hexdigest()
    
    
    hash = hashlib.sha384()
    hash.update('admin')
    print hash.hexdigest()
    

    PS:MD5等加密是不可逆的,但是可以通过撞库反解可以通过定义一个key生成的md5就几乎无法反解了

    import hashlib
    
    hash = hashlib.md5('liuyueming')
    hash.update('admin')
    print hash.hexdigest()
    

    python还有一个很hmac模块,内部对创建的key和内容进行在处理

    vim day5-14.py

    import hmac
    h = hmac.new('liuyueming')
    h.update('hellowo')
    print h.hexdigest()
    

      

     作业

  • 相关阅读:
    09_传智播客iOS视频教程_@property
    08_传智播客iOS视频教程_点语法
    07_传智播客iOS视频教程_手动向对象发送SEL消息
    接软件开发项目,你需要知道这些!
    接软件开发项目,你需要知道这些!
    这些代码优化的方法,你都用过吗?
    这些代码优化的方法,你都用过吗?
    这些代码优化的方法,你都用过吗?
    顶级程序员和普通程序员在思维模式上的5个区别!
    顶级程序员和普通程序员在思维模式上的5个区别!
  • 原文地址:https://www.cnblogs.com/minseo/p/6843463.html
Copyright © 2011-2022 走看看