使用Jupyter notebooks上传文件夹或大量数据到服务器的完整攻略如下:
步骤一:打开Jupyter notebook
首先,在服务器上打开Jupyter notebook。可以通过以下命令在终端中打开:
jupyter notebook
然后在浏览器中打开Jupyter notebook。
步骤二:创建一个新的notebook
在Jupyter notebook中,点击右上角的"New"按钮,选择要创建的notebook类型(如Python 3)。
步骤三:导入必要的库
为了使用上传功能,需要导入ipywidgets
和pathlib
两个库。
!pip install ipywidgets
from ipywidgets import FileUpload
from pathlib import Path
步骤四:创建上传小部件
使用FileUpload
函数创建一个上传小部件。
upload_button = FileUpload()
upload_button
步骤五:指定上传文件夹的目标路径
指定要将上传的文件夹放在服务器上的目标路径,可以使用以下命令获取当前工作目录:
!pwd
例如,当前工作目录为/home/user/notebooks
,可以使用以下命令将上传的文件夹保存到/home/user/notebooks/uploaded_files
目录下:
destination_folder = Path('/home/user/notebooks/uploaded_files')
步骤六:上传文件夹或大量数据
使用以下代码将上传的文件夹或大量数据保存到目标路径中:
for name, file_info in upload_button.value.items():
with open(destination_folder / name, 'wb') as f:
f.write(file_info['content'])
以上代码将上传的文件保存到目标路径中,其中name
是上传文件的名称,file_info['content']
是上传文件的内容。
示例一:上传单个文件
假设要上传一个名为example.txt
的文本文件。可以使用以下代码将文件上传至服务器:
destination_folder = Path('/home/user/notebooks/uploaded_files')
upload_button = FileUpload()
upload_button
for name, file_info in upload_button.value.items():
with open(destination_folder / name, 'wb') as f:
f.write(file_info['content'])
上传成功后,可以在服务器上的/home/user/notebooks/uploaded_files
目录中找到刚才上传的example.txt
文件。
示例二:上传文件夹
假设要上传一个名为example_folder
的文件夹,其中包含多个文件。可以使用以下代码将文件夹上传至服务器:
destination_folder = Path('/home/user/notebooks/uploaded_files')
upload_button = FileUpload()
upload_button
for name, file_info in upload_button.value.items():
with open(destination_folder / name, 'wb') as f:
f.write(file_info['content'])
if 'example_folder' in os.listdir(destination_folder):
shutil.rmtree(destination_folder / 'example_folder')
with zipfile.ZipFile(destination_folder / 'example_folder.zip', 'r') as zip_ref:
zip_ref.extractall(destination_folder)
shutil.move(destination_folder / 'example_folder', destination_folder.parent / 'example_folder')
以上代码将example_folder
上传至服务器,并将其放置在/home/user/notebooks
目录下,而非上传到原目录中,这样避免了重复上传文件夹,以及文件夹可能已存在的情况。该示例会将文件夹压缩为example_folder.zip
文件,上传后解压缩并移动至对应位置。
上传成功后,可以在服务器上的/home/user/notebooks/example_folder
目录中找到刚才上传的example_folder
文件夹。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Jupyter notebooks上传文件夹或大量数据到服务器 - Python技术站