Mon*_*lal 3 python file-upload ipython jupyter-notebook ipywidgets
我在Jupyter中遇到了用于上传文件的代码段,但是我不知道如何在执行代码的机器上保存该文件,或者如何显示上传文件的前5行。基本上,我正在寻找上传文件后访问该文件的正确命令:
import io
from IPython.display import display
import fileupload
def _upload():
_upload_widget = fileupload.FileUploadWidget()
def _cb(change):
decoded = io.StringIO(change['owner'].data.decode('utf-8'))
filename = change['owner'].filename
print('Uploaded `{}` ({:.2f} kB)'.format(
filename, len(decoded.read()) / 2 **10))
_upload_widget.observe(_cb, names='data')
display(_upload_widget)
_upload()
Run Code Online (Sandbox Code Playgroud)
_cb上传完成时调用。如以上注释中所述,您可以在此处写入文件,或将其存储在变量中。例如:
from IPython.display import display
import fileupload
uploader = fileupload.FileUploadWidget()
def _handle_upload(change):
w = change['owner']
with open(w.filename, 'wb') as f:
f.write(w.data)
print('Uploaded `{}` ({:.2f} kB)'.format(
w.filename, len(w.data) / 2**10))
uploader.observe(_handle_upload, names='data')
display(uploader)
Run Code Online (Sandbox Code Playgroud)
上传完成后,您可以按以下方式访问文件名:
uploader.filename
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7776 次 |
| 最近记录: |