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-DUJUN\day20\解压")
# 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-DUJUN\day20\aa\b\c/ttt") # 删除文件 仅能删除文件
# print(os.listdir(r"H:\PYTHON-DUJUN\day20")) # 列出所有文件和文件夹名称
# 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-DUJUN\day20\4.os模块.py")) # 获取最后一级名称
# print(path.exists("H:\PYTHON-DUJUN\day20\4.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-DUJUN\day20\4.os模块.py"))
print(path.normcase("AA/BB\\CC//")) # 大写变小写 斜杠根据当前平台修改
print(path.normpath("AA/BB\\CC//DD/..//EE")) # 斜杠会修改为当前平台的分隔符 可用执行..来返回上一级
import os
# 直接写死不能跨平台 尽量使用下面两种
# DB_PATH = r"H:\PYTHON-DUJUN\day20\aa\高根db.txt"
# LOG_PATH = r"H:\PYTHON-DUJUN\day20\aa\log.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期\day20\7.shutil模块.py","rb")
# f2 = open(r"D:\上海python全栈4期\day20\7.shutil模块2.py","wb")
# shutil.copyfileobj(f1,f2)
# 压缩文件
# shutil.make_archive('TTL','zip',r'H:\PYTHON-DUJUN\day20')
# shutil.make_archive('TTL','tar',r'H:\PYTHON-DUJUN\day20')
# 用shutil直接解压
# shutil.unpack_archive(r"H:\PYTHON-DUJUN\day20\TTL.zip")
# 解压 可以使用对应的模块来完成
# import zipfile
# z = zipfile.ZipFile(r"D:\上海python全栈4期\day20\my压缩.zip","r") #打开文件
# z.extractall(path=r"D:\上海python全栈4期\day20\解压") #提取文件
# z.close() # 关闭文件
# import tarfile
# t = tarfile.open(r"D:\上海python全栈4期\day20\my压缩.tar","r")
# t.extractall(r"D:\上海python全栈4期\day20\解压")
# t.close()
# import tarfile
# t = tarfile.open(r"D:\上海python全栈4期\day20\you压缩.tar","w")
# t.add("1.昨日回顾")
# t.add("2.今日内容")
# t.close()
# import zipfile
# z = zipfile.ZipFile(r"D:\上海python全栈4期\day20\you压缩.zip","w")
# z.write("1.昨日回顾")
# z.write("2.今日内容")
# z.close()
import shutil
# 用于简化文件操作的模块
# f1 = open(r"D:\上海python全栈4期\day20\7.shutil模块.py","rb")
# f2 = open(r"D:\上海python全栈4期\day20\7.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期\day20\pack")
# 解压 需要使用对应的模块来完成
# import zipfile
# z = zipfile.ZipFile(r"D:\上海python全栈4期\day20\my压缩.zip","r")
# z.extractall(path=r"D:\上海python全栈4期\day20\解压")
# z.close()
import tarfile
# t = tarfile.open(r"D:\上海python全栈4期\day20\my压缩.tar","r")
# t.extractall(r"D:\上海python全栈4期\day20\解压")
# t.close()