zoukankan      html  css  js  c++  java
  • PYTHON-模块 sys os random shutil

    import sys

    # 环境变量
    # print(sys.path)
    # # 查看已经加载的模块
    # print(sys.modules)
    # # 获取终端调用时的参数
    # print(sys.argv)
    # # 获取解释器的版本信息
    # print(sys.version)
    # # 当前平台名称
    # print(sys.platform)
    # sys.exit(0)
    # print("moximoxi")

    # 终端版复制文件工具
    # 源文件路径
    # source = sys.argv[1]
    # print(source)
    # # 目标文件路径
    # dispath = sys.argv[2]
    # with open(source,"rb") as f:
    # data = f.read()
    # with open(dispath, "wb") as f2:
    # f2.write(data)
    ------------------------------------
    import os
    # os 主要用于与操作系统进行交互

    # 获取当前的工作目录
    # print(os.getcwd())
    # 切换工作目录
    # os.chdir("H:PYTHON-DUJUNday20解压")
    # print(os.getcwd())

    # 当前目录 是一个点
    # print(os.curdir)
    # 上一级目录 两个点
    # print(os.pardir)

    # # 系统的环境变量
    # print(os.environ)
    # print(os.system("dir"))

    # 掌握
    # print(os.makedirs("aa/b/c")) # 创建目录 可用递归创建
    # print(os.mkdir("aa45")) # 创建一个目录
    # os.removedirs("aa/b/c") # 递归删除 如果没有文件就删掉 有文件则保留
    # os.rmdir("aa45") # 删除一个目录

    # os.remove(r"H:PYTHON-DUJUNday20aac/ttt") # 删除文件 仅能删除文件
    # print(os.listdir(r"H:PYTHON-DUJUNday20")) # 列出所有文件和文件夹名称
    # print(os.sep) # 获取当前平台的路径分隔符
    # print(os.linesep,end="") # 获取当前平台换行符

    from os import path
    # print(path.abspath("tt/a.txt")) # 返回绝对路径
    # print(path.split("a/b/c.txt")) # 将路径拆分为 文件夹路径和文件名称
    # print(path.dirname(__file__)) # 获取路径中的上一级
    # print(path.basename(r"H:PYTHON-DUJUNday204.os模块.py")) # 获取最后一级名称
    # print(path.exists("H:PYTHON-DUJUNday204.os模块.py")) # 判断路径是否存在
    # print(path.isabs("C://a/b/c")) # 判断是否使绝对路径 linux下第一个是/就是绝对 win 盘符开始就是绝对
    print("xx".join(["1","2","3","4"])) # 字符拼接
    print(path.join("C://","D://","a","b","c")) # 将多个名称拼接为路径 如果有多个起始符 取最后一个
    print(path.getsize(r"H:PYTHON-DUJUNday204.os模块.py"))
    print(path.normcase("AA/BB\CC//")) # 大写变小写 斜杠根据当前平台修改
    print(path.normpath("AA/BB\CC//DD/..//EE")) # 斜杠会修改为当前平台的分隔符 可用执行..来返回上一级


    import os
    # 直接写死不能跨平台 尽量使用下面两种
    # DB_PATH = r"H:PYTHON-DUJUNday20aa高根db.txt"
    # LOG_PATH = r"H:PYTHON-DUJUNday20aalog.txt"

    # 第二种拼接方式 跨平台
    # 先获取当前路径
    BASE_DIR2 = os.path.dirname(os.path.dirname(__file__))
    LOG_PATH2 = os.path.join(BASE_DIR2,"log","log.txt")
    LOG_PATH2= os.path.join(BASE_DIR2,'log.txt')
    print(BASE_DIR2)
    print(LOG_PATH2)

    # 第三种拼接方式 跨平台
    print(os.path.normpath(__file__))
    print(os.path.normpath(os.path.join(__file__,'..','..','log','log.txt')))

    DB_URL = "127.0.0.1"
    USER = "root"
    PWD = "123"
    ---------------------------------
    import random
    # 随机数模块

    # print(random.random()) #0-1 不包括1随机浮点数
    # print(random.randint(1,10)) # 1-10 包括1和10 的整数
    # print(random.randrange(1,10)) # 1-10包括1 不包括10的整数
    print(random.sample(["aaa",["a","b"],3,4,5],2)) # 指定一个范围并指定需要的随机个数

    # ls = ["1","2","3","4"]
    # random.shuffle(ls) # 打乱顺序 洗牌 改的原有列表
    # print(ls)
    # print(random.choice([1,2,3])) # 随机选一个
    # print(random.choices([1,2,3,4,5,6,7],k=2)) # 随机选指定个数

    # 随机验证码 长度自定义 包括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(4))

    # print(random.uniform(1,3)) # 两边都包含的随机浮点数
    --------------------
    import shutil
    # 用于简化文件操作的模块
    # f1 = open(r"D:上海python全栈4期day207.shutil模块.py","rb")
    # f2 = open(r"D:上海python全栈4期day207.shutil模块2.py","wb")
    # shutil.copyfileobj(f1,f2)

    # 压缩文件
    # shutil.make_archive('TTL','zip',r'H:PYTHON-DUJUNday20')
    # shutil.make_archive('TTL','tar',r'H:PYTHON-DUJUNday20')


    # 用shutil直接解压
    # shutil.unpack_archive(r"H:PYTHON-DUJUNday20TTL.zip")


    # 解压 可以使用对应的模块来完成
    # import zipfile
    # z = zipfile.ZipFile(r"D:上海python全栈4期day20my压缩.zip","r") #打开文件
    # z.extractall(path=r"D:上海python全栈4期day20解压") #提取文件
    # z.close() # 关闭文件

    # import tarfile
    # t = tarfile.open(r"D:上海python全栈4期day20my压缩.tar","r")
    # t.extractall(r"D:上海python全栈4期day20解压")
    # t.close()

    # import tarfile
    # t = tarfile.open(r"D:上海python全栈4期day20you压缩.tar","w")
    # t.add("1.昨日回顾")
    # t.add("2.今日内容")
    # t.close()


    # import zipfile
    # z = zipfile.ZipFile(r"D:上海python全栈4期day20you压缩.zip","w")
    # z.write("1.昨日回顾")
    # z.write("2.今日内容")
    # z.close()


    import shutil
    # 用于简化文件操作的模块
    # f1 = open(r"D:上海python全栈4期day207.shutil模块.py","rb")
    # f2 = open(r"D:上海python全栈4期day207.shutil模块2.py","wb")
    # shutil.copyfileobj(f1,f2)

    # 压缩文件
    # shutil.make_archive("my压缩","zip",r"D:上海python全栈4期day20")

    # shutil.make_archive("my压缩","tar",r"D:上海python全栈4期day20pack")

    # 解压 需要使用对应的模块来完成
    # import zipfile
    # z = zipfile.ZipFile(r"D:上海python全栈4期day20my压缩.zip","r")
    # z.extractall(path=r"D:上海python全栈4期day20解压")
    # z.close()

    import tarfile
    # t = tarfile.open(r"D:上海python全栈4期day20my压缩.tar","r")
    # t.extractall(r"D:上海python全栈4期day20解压")
    # t.close()






















  • 相关阅读:
    BZOJ 5418: [Noi2018]屠龙勇士 EXCRT+multiset
    CF1033D Divisors Pollard-rho
    BZOJ 3782: 上学路 Lucas+ExCRT+容斥+dp
    BZOJ 1951: [Sdoi2010]古代猪文 ExCRT+欧拉定理+Lucas
    Activiti介绍(一)
    Centos7卸载FastDFS6.1卸载(六)
    FastDFS整合SpringBoot(五)
    FastDFS整合nginx模块报错
    SpringBoot怎么访问html文件
    FastDFS整合普通Maven项目(四)
  • 原文地址:https://www.cnblogs.com/du-jun/p/9800432.html
Copyright © 2011-2022 走看看