📜  jupyter 上传文件夹 - Python (1)

📅  最后修改于: 2023-12-03 15:32:26.894000             🧑  作者: Mango

Jupyter上传文件夹 - Python

在Jupyter Notebook或JupyterLab中上传一个或多个文件是直截了当的,但是上传文件夹可以有点棘手。上传文件夹的好处是节省了单独上传每个文件的时间。幸运的是,Python有一个称为“zipfile”的内置库,可以用来处理文件和文件夹压缩。在本教程中,我们将通过使用zipfile和Jupyter来上传整个文件夹。

步骤1 - zip文件

第一步是将文件夹压缩为zip文件。我们可以使用zipfile库完成此操作。

import zipfile

def zipdir(path, ziph):
    # 打包整个文件夹
    for root, dirs, files in os.walk(path):
        for file in files:
            ziph.write(os.path.join(root, file))

zipf = zipfile.ZipFile('my_folder.zip', 'w', zipfile.ZIP_DEFLATED)
zipdir('my_folder', zipf)
zipf.close()

这段代码将整个文件夹“my_folder”压缩到名为“my_folder.zip”的文件中。确保更改路径以反映您实际的文件夹位置。

步骤2 - Jupyter上传

第二步是在Jupyter中上传zip文件。有两种方法可以完成此操作:

方法1 - 文件浏览器

在Jupyter中,选择“New”选项卡,然后选择“Upload”选项。选择要上传的zip文件(即“my_folder.zip”)。上传完成后,将文件从文件浏览器拖动到notebook中的任何代码单元格或markdown单元格。

方法2 - 直接上传

在Jupyter中,选择“File”选项卡,然后选择“Upload”选项。选择要上传的zip文件(即“my_folder.zip”)。上传完成后,使用以下代码单元格或markdown单元格将文件解压缩。

import zipfile

with zipfile.ZipFile("my_folder.zip", 'r') as zip_ref:
    zip_ref.extractall("./")
完整代码
import os
import zipfile

# 压缩文件夹
def zipdir(path, ziph):
    # 打包整个文件夹
    for root, dirs, files in os.walk(path):
        for file in files:
            ziph.write(os.path.join(root, file))

zipf = zipfile.ZipFile('my_folder.zip', 'w', zipfile.ZIP_DEFLATED)
zipdir('my_folder', zipf)
zipf.close()

# 解压缩zip文件
with zipfile.ZipFile("my_folder.zip", 'r') as zip_ref:
    zip_ref.extractall("./")

# 确认文件夹已解压缩
print(os.listdir())
结论

通过使用zipfile和Jupyter,我们可以轻松地将整个文件夹上传到Jupyter Notebook或JupyterLab中。