jupyter-notebook不支持文件夹的上传,有时候文件夹里后很多东西,这时候就需要我们先把文件夹打包成zip,然后上传到jupyter服务器,最后解压。
打包大家都会吧,我用的是7-zip,直接打包成zip格式。
新建一个notebook文件,运行以下代码
# xxx.zip,这里xxx是你打包的名字
import zipfile
import os
files = zipfile.ZipFile('xxx.zip', 'r')
files.extractall(os.getcwd())
files.close()
之后就能看到上传的文件夹啦
直接在要打包的文件夹下新建运行代码:
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 = '.'
# xxx.tar 你的压缩包名称
tar_file_name = 'archive.tar'
ignore = {'.ipynb_checkpoints', '__pycache__', tar_file_name}
make_tar_file(dir_name, tar_file_name, ignore)