8

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()
4

4 に答える 4

8

_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)

アップロードが完了したら、ファイル名に次のようにアクセスできます。

uploader.filename
于 2016-09-15T08:51:39.257 に答える