转载请注明出处!!!
# 压缩当前路径所有文件,输出zip文件
path='./'
import zipfile,os
zipName = 'student_id.zip' #压缩后文件的位置及名称
f = zipfile.ZipFile( zipName, 'w', zipfile.ZIP_DEFLATED )
for dirpath, dirnames, filenames in os.walk(path):
for filename in filenames:
print(filename)
f.write(os.path.join(dirpath,filename))
f.close()
# 压缩当前路径文件,输出tar
import os
import tarfile
def recursive_files(dir_name='.', ignore=None):
for dir_name,subdirs,files in os.walk(dir_name):
if ignore and os.path.basename(dir_name) in ignore:
continue
for file_name in files:
if ignore and file_name in ignore:
continue
yield os.path.join(dir_name, file_name)
def make_tar_file(dir_name='.', tar_file_name='tarfile.tar', ignore=None):
tar = tarfile.open(tar_file_name, 'w')
for file_name in recursive_files(dir_name, ignore):
tar.add(file_name)
tar.close()
dir_name = '.'
tar_file_name = 'archive.tar'
ignore = {'.ipynb_checkpoints', '__pycache__', tar_file_name}
make_tar_file(dir_name, tar_file_name, ignore)
其实大家不用纠结这个解压缩,我们解压缩的目的就是将代码下载下来后从本地进行操作或是阅读,既然解压缩的代码方法没有找到,为什么我们不能从本地终端解压缩呢?
#zip格式
unzip filename.zip
#tar格式
tar -zxvf filename.tar.gz
我只找到了解压缩rar格式的代码
# 解压缩rar文件
from unrar import rarfile
import os
file = rarfile.RarFile('archive.rar')
file.extractall('./')
files.close()
这种方法在某些场合可以使用,但某些场合并不适用。
我也不知道为什么 &_&
# 解压缩zip文件
import zipfile
import os
files = zipfile.ZipFile('student_id.zip', 'r')
files.extractall(os.getcwd())
files.close()
欢迎小伙伴们在评论区,分享解压/压缩的代码
未完待续。。。