zoukankan      html  css  js  c++  java
  • 自学Python6.3-内置模块(os、sys、hashlib、random、json&pickle&shelve)

    自学Python之路-Python基础+模块+面向对象
    自学Python之路-Python网络编程
    自学Python之路-Python并发编程+数据库+前端
    自学Python之路-django

    自学Python6.3-内置模块(os、sys、hashlib、random、json & pickle &shelve)

    内置模块是Python自带的功能,在使用内置模块相应的功能时,需要  先导入 再 使用。

    • python中导入模块使用关键字 import如果是本地导入文件,直接使用:import filename
    • 如果导入的是一个包,该包下面必须是有__init__.py 文件才可以导入,否则报错,只有有了__init__.py 文件,python 解析器才会把这个目录当成是的包。

     1.OS模块      

     用于提供系统级别的操作: 

    os.getcwd()                 获取当前工作目录,即当前python脚本工作的目录路径
    os.chdir("dirname")         改变当前脚本工作目录;相当于shell下cd
    os.curdir                   返回当前目录: ('.')
    os.pardir                   获取当前目录的父目录字符串名:('..')
    os.makedirs('dir1/dir2')    可生成多层递归目录
    os.removedirs('dirname1')   若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
    os.mkdir('dirname')         生成单级目录;相当于shell中mkdir dirname
    os.rmdir('dirname')         删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
    os.listdir('dirname')       列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
    os.remove()                 删除一个文件
    os.rename("oldname","new")  重命名文件/目录
    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.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最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(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模块

    用于提供对Python解释器相关的操作: 

    sys.argv           命令行参数List,第一个元素是程序本身路径
    sys.exit(n)        退出程序,正常退出时exit(0)
    sys.version        获取Python解释程序的版本信息
    sys.maxint         最大的Int值
    sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
    sys.platform       返回操作系统平台名称
    sys.stdin          输入相关
    sys.stdout         输出相关
    sys.stderror       错误相关
    

    3.hashlib模块

     hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法

    4.random模块

    # 随机小数
    random.random()        #用于生成一个0到1的随机浮点数:0<= n < 1.0
    random.uniform(a,b)    #用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。
    # 随机整数
    random.randint(a, b)   #用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b
    random.randrange([start], stop[, step])   #从指定范围内,按指定基数递增的集合中 获取一个随机数。
    # 随机选择一个返回
    random.choice(sequence)  # 从序列中获取一个随机元素
    # 打乱列表顺序
    random.shuffle(x[, random])  # 用于将一个列表中的元素打乱,即将列表内的元素随机排列。
    # 随机选择多个返回,返回的个数为函数第二个参数
    random.sample(sequence, k)   # 从指定序列中随机获取指定长度的片断并随机排列。注意:sample函数不会修改原有序列。
    

    5.json & pickle &shelve序列化模块

    数据类型转化成字符串的过程就是序列化,主要是为了方便存储和网络传输。

    • json,用于字符串 和 python数据类型间进行转换 (两端可以是不同语言) 。json模块提供了四个功能:dumps、dump(和文件有关)、loads、load(load不能load多次)。
    • pickle,用于python特有的类型 和 python的数据类型间进行转换(两端必须使用python语言)。 pickle模块提供了四个功能:dumps、dump、loads、load(方法和json一样)。
    • shelve,open方法,open方法获取了一个文件句柄。
    import pickle
    f = open('user_acc.txt','wb')
    data = {
        'k1':123 ,
        'k2':'hello'
    }
    f.write(pickle.dumps(data))
    f.close()
    

    import pickle
    f = open('user_acc.txt','rb')
    data_from=pickle.loads(f.read())  # data_from=pickle.load(f))
    for i in data_from:
        print(data_from)

    输出结果:  {'k1': 123, 'k2': 'hello'} 

     6. 


      

  • 相关阅读:
    201671010432词频统计软件项目报告
    201671010432吴兰兰:实验三作业互评与改进报告
    快速通读《构建之法》后的疑问:
    读《构建之法》所提出的问题
    实验十四 团队项目评审&课程学习总结
    201671010437-王小倩-实验四附加实验
    201671010437+王小倩+《英文文本统计分析》结对项目报告
    201671010437 王小倩+词频统计软件项目报告
    201671010437 王小倩 + 实验三作业互评与改进报告
    201671010442 葸铃 实验十四 团队项目评审&课程学习总结
  • 原文地址:https://www.cnblogs.com/yaoyaojcy/p/7421164.html
Copyright © 2011-2022 走看看