Python平时代码的一些知识
2021-07-03 20:05
标签:压缩 -- 保存 相加 根目录 结构 获取 turn file模块 os.walk的作用: 对日期操作: 对文件夹的压缩tar.gz格式: 以下所用到的一些知识点 需要压缩的文件目录结构 : 1.压缩文件夹,只能压缩文件夹下的文件 def tar_file(save_dir, uppack_dir):
‘‘‘
:param save_dir: 保存压缩文件的路径
:param uppack_dir: 需要压缩文件的路径
:param fname:获取当前时间命名压缩文件
:return:
‘‘‘
fname = datetime.datetime.now().strftime(‘%Y_%m_%d‘)
fname = save_dir + "/" + fname
tar = tarfile.open(fname + ".tar.gz", "w:gz")
for root, dir, files in os.walk(uppack_dir):
for file in files:
fullpath = os.path.join(root, file) 2.压缩文件夹,一次性打包整个根目录,包括文件夹下的目录 3.压缩文件夹,压缩文件下的所有内容 Python平时代码的一些知识 标签:压缩 -- 保存 相加 根目录 结构 获取 turn file模块 原文地址:https://www.cnblogs.com/tang-s/p/9620248.html压缩后的目录结构:
--2018_9_10.tar.gz
--filename
--file1
--test1
--test2
--test3
def make_targz(save_dir, source_dir):
‘‘‘
:param save_dir: 保存压缩包的目录
:param source_dir: 需要压缩文件夹的目录
‘‘‘
fname = datetime.datetime.now().strftime(‘%Y_%m_%d‘)
fname = save_dir + "/" + fname
with tarfile.open(fname + ".tar.gz", "w:gz") as tar:
tar.add(source_dir, arcname=os.path.basename(source_dir))
def file_name(file_dir):
for root, dirs, files in os.walk(file_dir):
print(root) #当前目录路径
print(dirs) #当前路径下所有子目录
print(files) #当前路径下所有非目录子文件
获取当前日期:
date_name = datetime.datetime.now().strftime(‘%Y_%m_%d‘)
日期的相加减:
date1 = ‘2018_9_10‘
date2 = ‘2018_10_10‘
d1 = datetime.datetime.strptime(date1, ‘%Y_%m_%d‘)
d2 = datetime.datetime.strptime(date2, ‘%Y_%m_%d‘)
delta = d2-d1
print delta.days
结果:301.os.walk的利用
2.datetime模块的利用
3.tarfile模块下的 add(),重点在于arcname参数的利用,
arcname参数代表需要压缩的文件名
--filename
--file1
--test1
--test2
--test3
压缩后的目录结构:
--2018_9_10.tar.gz
--test2
--test3
tar.add(fullpath, arcname=file)
def make_targz(save_dir, source_dir):
‘‘‘
:param save_dir: 保存压缩包的目录
:param source_dir: 需要压缩文件夹的目录
‘‘‘
fname = datetime.datetime.now().strftime(‘%Y_%m_%d‘)
fname = save_dir + "/" + fname
with tarfile.open(fname + ".tar.gz", "w:gz") as tar:
tar.add(source_dir, arcname="")