zoukankan      html  css  js  c++  java
  • os与操作系统进行交互,sys解释器相关,random随机数,shutil解压和压缩

        1.os
    与操作系统相关
    对文件的处理
    对路径的处理
    import os#主要用于与操作系统进行交互
    掌握:
    print(os.makedirs('a/b/c'))#创建目录 可用递归创建
    print(os.mkdir('AA'))#创建一个目录,名字中不能加/
    os.removedirs('a/b/c')#递归删除,如果没有文件删除,有文件则保留
    os.rmdir('AA')#删除一个目录
    os.remove(r'xx')#删除文件,仅仅能删除文件
    os.listdir(r'xx')#列出所有文件和文件夹名称
    os.rename('xx','xxx')#重命名文件/目录名
    os.stat()
    print(os.sep)#获取当前平台的路径分隔符
    print(os.linesep,end='')#获取平当前台换行符

    了解:
    print(os.getcwd())#获取当前的工作目录
    os.chdir('')#切换工作目录
    print(os.curdir)#当前目录,是一个点
    print(os.pardir)#上一级目录,两个点
    print(os.environ)#系统的环境变量
    print(os.system(‘xx’))运行sell,直接显示


    from os import path
    print(os.path.abspath('xx'))#返回绝对路径,对字符串操作文件不存在不会报错
    print(os.path.split('a/d/f.txt'))#将路径拆分为目录和文件名,远组形式
    print(os.path.dirname(__file__))#获取路径中的上一级
    print(os.path.basename(__file__))#获取最后一级名称
    print(os.path.exists(‘xx’))#判断路径是否存在
    print(os.path.isabs('xxx'))#判断是否是绝对路径,linux/开头是绝对路径;
    print(path.join('C:\','D:\','a','b','c'))#将多个名称拼接成路径,如果有多个起始符,取最后一个
    print(os.path.getsize('xx'))#获取文件或文件夹字节数
    print(os.path.normcase('AA/BB\CC//'))#用于路径规范化 会将大写转换小写 斜杠转成当前系统分割符
    print(os.path.normpath('AA/BB\CC//DD/..//EE'))#斜杠会修改为当前平台分割符,可执行..来返回上一级后继续执行
    os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
    os.path.basename(path) 返回path最后的文件名。如何path以/或结尾,那么就会返回空值。




    2.sys
    解释器相关的信息
    import sys
    print(sys.path)#环境变量
    print(sys.modules)#查看已经加载的模块
    print(sys.argv)#获取终端调用时的参数 用空格隔开,在cmb中可直接执行
    print(sys.version)#查看解释器的版本信息
    sys.exit(0)程序无错正常运行
    sys.exit(1)程序异常退出
    #了解:
    print(sys.api_Version)#接口版本
    print(sys.maxsize)
    print(sys.maxunicode)
    print(sys.platform)#当前的平台名称

    3.random
    随机数模块
    import random
    print(random.random())#包含零到一之间的随机浮点数(不包含一)
    print(random.randint(1,10))#1-10 包括10的整数
    print(random.randrange(1,10))#1-10 不包含10 的整数
    print(random.uniform(1,3))#两边都包含的随机浮点数
    print(random.sample([1,2,4,5,78,'dd',6,],3))#指定一个范围,并指定一个随机个数
    print(random.shuffle([1,2,4,5,78,'dd',6,]))#打乱顺序 洗牌 改的是原有列表
    print(random.choice([1,2,3,4,6]))#在指定范围内随机取一个值
    print(random.choices([1,2,3,45,5],k=3))#随机选指定个数

    举例:
    import random
    #随机验证码 长度自定义 包括0-9 A-Z a-z
    def get_auth_code(length):
    res=''
    for i in range(length):
    a=random.randint(0,9)
    b=chr(random.randint(65,90))
    c=chr(random.randint(97,122))
    s=random.choice([a,b,c])
    res+=str(s)
    return res
    print(get_auth_code(5))

    4.shutil
    用于操作文件
    import shutil
    #用于简化文件操作的模块
    f1=open('bb.txt','rb')
    f2=open(r'cc.txt','wb')
    shutil.copyfileobj(f1,f2)#复制文件

    解压和压缩
    import shutil
    #压缩
    shutil.make_archive('my压缩','zip','D:作业。10.12')
    # 解压 可以对应模块来完成
    import zipfile
    z=zipfile.ZipFile(r'my压缩.zip','r')
    #加path相当建立一个新的解压文件夹,什么都没有的话是直接解压到当前文件夹
    z.extractall(path='解压')
    z.close()

    #把文件整理压缩到一起
    import tarfile
    t=tarfile.open(r'D:py_yingyongmy压缩.zip','w')
    t.add('bb.txt')
    t.add('cc.txt')
    t.close()  
          #解压,建立一个叫做解压的文件夹 进行解压,如果出现同名不会报错也不会生成同名文件夹
          import tarfile
           t=tarfile.open(r'D:py_yingyongmy压缩.zip','r')
           t.extractall(r'D:py_yingyongmy解压')
           t.close()
          #把文件的内容直接解压到当前文件夹,如果当前文件夹已有解压后文件名,则报错
    import shutil
    shutil.unpack_archive(r'D:py_yingyongmy压缩.zip')

  • 相关阅读:
    谈谈JavaScript中继承方式
    《前端架构设计》学习笔记一--架构的种子
    正则中1的用法---反向引用
    JavaScript千分符---正则实现
    JavaScript开发中常用的代码规范配置文件
    前端开发流程---我们应该做些什么
    JavaScript中数据类型判断
    冒泡排序以及改进
    Number和toString中的坑
    Fluent Ribbon 第五步 ToolBar
  • 原文地址:https://www.cnblogs.com/yanhui1995/p/9798686.html
Copyright © 2011-2022 走看看