jupyter notebook 压缩/解压文件夹

转载请注明出处!!!

压缩

压缩成zip格式

# 压缩当前路径所有文件,输出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格式

# 压缩当前路径文件,输出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 / tar 命令

#zip格式
unzip filename.zip

#tar格式
tar -zxvf filename.tar.gz

解压缩rar格式

我只找到了解压缩rar格式的代码

# 解压缩rar文件
from unrar import rarfile
import os

file = rarfile.RarFile('archive.rar') 
file.extractall('./')
files.close()  

解压缩zip格式

这种方法在某些场合可以使用,但某些场合并不适用。
我也不知道为什么 &_&

# 解压缩zip文件
import zipfile
import os

files = zipfile.ZipFile('student_id.zip', 'r')
files.extractall(os.getcwd())
files.close()  

待更

欢迎小伙伴们在评论区,分享解压/压缩的代码
未完待续。。。

你可能感兴趣的:(python,小技巧,python)