python shutil模块&random模块

时间:2022-02-08 15:10:33

shutil模块

import shutil

shutil.copyfileobj(open("os_.py", "r"), open("os_2.py", "w")) # 将文件内容拷贝到另一个文件中,目标文件无需存在
shutil.copyfile("os_.py", "os_1.py") # 拷贝文件,目标文件无需存在
shutil.copymode("os_.py", "os_1.py") # 仅拷贝权限。内容、组、用户均不变,目标文件必须存在
shutil.copystat("os_.py", "os_1.py") # 仅拷贝状态的信息,包括:mode bits, atime, mtime, flags,目标文件必须存在
shutil.copy("os_.py", "os_1.py") # 拷贝文件和权限
shutil.copy2("os_.py", "os_3.py") # 拷贝文件和状态
shutil.copytree("test1", "test2",ignore=shutil.ignore_patterns("1")) # 递归的去拷贝文件夹,目标文件目录不能存在,ignore是排除
shutil.rmtree("test2") # 递归的去删除文件夹
shutil.move("test1", "test3") # 递归的去移动文件目录,其实就是重命名
shutil.make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,dry_run=0, owner=None, group=None, logger=None) # 创建压缩包并返回文件路径,例如:zip、tar
# base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
# 如 data_bak =>保存至当前路径
# 如:/tmp/data_bak =>保存至/tmp/
# format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
# root_dir: 要压缩的文件夹路径(默认当前目录)
# owner: 用户,默认当前用户
# group: 组,默认当前组
# logger: 用于记录日志,通常是logging.Logger对象 # 压缩示例:
shutil.make_archive("shutil","zip") # 将当前目录以zip格式压缩到当前目录
shutil.make_archive("d:\python_study\日常学习","tar") # 将当前目录以tar的格式压缩到d:\python_study\日常学习目录 # shutil 对压缩包的处理是调用 ZipFile 和 TarFile 两个模块来进行的
import zipfile, tarfile
z = zipfile.ZipFile("11.zip","w")
z.write("a.log")
z.write("date.date")
z.close()

random模块

random.randint(0,10)  # 在0-10之间随机选一个数,包括10
random.randrange(0,10) # 在0-10之间随机选一个数,不包括10
random.random() # 返回一个随机的浮点数
random.randrange(0,100,2) # 返回0-100之间的偶数,不包括100
random.choice("shjsdhjbsbk%^^&&**fnu8n787867w5673476dw") #在一个指定的字符串里随机筛选出一个字符
random.sample("555441fekjfke93",3) #在一个指定的字符串中随机筛选出指定个数的字符,组成一个列表
string
string.ascii_letters # 返回ascii码中所有字母大小写
string.ascii_uppercase # 返回ascii码中所有字母大写
string.ascii_lowercase # 返回ascii码中所有字母大写
string.digits # 返回数字0-9
a = string.ascii_letters
b = string.digits
print("".join(random.sample(a+b,6))) # 制作一个随机验证码
# 洗牌
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
random.shuffle(a) # 可将列表打乱顺序
print(a)