Pyodideで作成したファイルをブラウザでコピー/ダウンロードする方法は?

Infinyte7

なんとかブラウザでPyodideを実行できました。hello.txtファイルを作成しましたしかし、どうすればそれにアクセスできますか。
Pyodide
https://github.com/iodide-project/pyodide/blob/master/docs/using_pyodide_from_javascript.md

pyodide.runPython('open("hello.txt", "w")')

Chrome devtoolsで何を試しましたか?

pyodide.runPython('os.chdir("../")')
pyodide.runPython('os.listdir()')
pyodide.runPython('os.path.realpath("hello.txt")')

の出力 listdir

["hello.txt", "lib", "proc", "dev", "home", "tmp"]

の出力 realpath

"/hello.txt"

また、

pyodide.runPython('import platform')
pyodide.runPython('platform.platform()')

出力

"Emscripten-1.0-x86-JS-32bit"

chromedevtoolsコンソールのすべての出力。

ルートフォルダに作成されます。しかし、ファイルエクスプローラーで、またはとにかくファイルをダウンロードフォルダーにコピーするためにどのようにアクセスできますか?

ありがとう

rth

実際、pyodideはEmscriptenによって作成されたインメモリ(MEMFS)ファイルシステムで動作しますpyodideはブラウザのサンドボックスで実行されるため、ファイルをディスクに直接書き込むことはできません。

ただし、ファイルをJavaScriptに渡し、そこからBlobを作成してから、ダウンロードすることはできます。たとえば、

let txt = pyodide.runPython(`                  
    with open('/test.txt', 'rt') as fh:
        txt = fh.read()
    txt
`);
const blob = new Blob([txt], {type : 'application/text'});
let url = window.URL.createObjectURL(blob);
window.location.assign(url);

pyodideに含まれている型変換を使用して、Python側からこれらすべてを実行することも可能であるはずです。

from js import Blob, document
from js import window
  
with open('/test.txt', 'rt') as fh:
    txt = fh.read()
    
blob = Blob.new([txt], {type : 'application/text'})
url = window.URL.createObjectURL(blob) 
window.location.assign(url)

ただし、現時点では、pyodide#788が最初に解決されることに依存しているため、残念ながらこれは機能しません

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

jsファイルが変更されたことをブラウザに示し、更新せずにクライアント側に反映する方法。それで、それは新しいコピーをダウンロードしますか?

分類Dev

フェザーAPIでcsvファイルを作成してダウンロードする方法は?

分類Dev

Goサーバーからブラウザーでファイルをダウンロードする方法

分類Dev

ブラウザなしでフォームを送信してウェブサイトからファイルをダウンロードする方法

分類Dev

ブラウザがファイルをダウンロードする方法(HTTPまたはFTP経由)

分類Dev

すべてのブラウザでZIPファイルをダウンロードする方法

分類Dev

Retrofitライブラリを使用してAndroidでファイルをダウンロードする方法は?

分類Dev

PHPWordで作成したファイルをダウンロードする

分類Dev

コンテンツを含むファイルを作成してTHYMELEAFでダウンロードする方法

分類Dev

ブラウザで圧縮ファイルをgolangサーバーからダウンロードします

分類Dev

Ajaxメソッドを使用してExcelファイルをダウンロードする方法-ここで私のファイルはブラウザにダウンロードされていないTempフォルダにダウンロードされますか?

分類Dev

ブラウザを使用せずにLinuxコンソールでURLを使用してファイルをftpまたはダウンロードするにはどうすればよいですか?

分類Dev

Flask:ダウンロードしたPDFファイルをブラウザで強制的に開く

分類Dev

ZIPファイルをダウンロードし、ブラウザASP.NETMVCでRotativaPDFを出力します

分類Dev

YouTubeビデオファイルをブラウザを介してユーザーのコンピュータに直接ダウンロードします

分類Dev

PythonでWebURLを使用してファイルをダウンロードする方法は?ブラウザからのダウンロードは機能しますが、Pythonのリクエストからは機能しません

分類Dev

JARファイルをダウンロード中にどのように無効にChromeブラウザのメッセージ「このファイルはコンピュータに損害を与えることができますか」?

分類Dev

JavaScriptを使用してファイルをダウンロードして保存するにはどうすればよいですか(ブラウザなし)

分類Dev

ダウンロードする代わりにブラウザでPDFファイルを表示する

分類Dev

ブラウザがファイルのダウンロードを受信したときに検出する

分類Dev

リンクをクリックして、AngularフロントエンドWebアプリのブラウザーで.csvファイルをダウンロードまたは保存するにはどうすればよいですか?ブラウザの苦情ファイルなし

分類Dev

Webブラウザがmp3ファイルをダウンロードするために2つの要求を行うのはなぜですか?

分類Dev

(HTML)クリックしたときにブラウザーで開く代わりにPDFファイルをダウンロードする

分類Dev

HTMLをダウンロードする代わりに、ブラウザでCSVファイルを開く

分類Dev

VeraCrypt暗号化システムドライブ全体のクローンを作成し、後でWindows 10にマウントして、選択したファイルをコピーするにはどうすればよいですか?

分類Dev

AndroidのブラウザでHTTPSからファイルをダウンロードします

分類Dev

curlはファイルをダウンロードできませんが、ブラウザはダウンロードできます

分類Dev

この問題を修正するにはどうすればよいですか?ブラウザでファイルをダウンロードすると、ファイルのエンコーディングが変更され、Springブートを使用しました

分類Dev

Vue / HTML / JSダウンロードタグを使用してファイルをブラウザーにダウンロードする方法

Related 関連記事

  1. 1

    jsファイルが変更されたことをブラウザに示し、更新せずにクライアント側に反映する方法。それで、それは新しいコピーをダウンロードしますか?

  2. 2

    フェザーAPIでcsvファイルを作成してダウンロードする方法は?

  3. 3

    Goサーバーからブラウザーでファイルをダウンロードする方法

  4. 4

    ブラウザなしでフォームを送信してウェブサイトからファイルをダウンロードする方法

  5. 5

    ブラウザがファイルをダウンロードする方法(HTTPまたはFTP経由)

  6. 6

    すべてのブラウザでZIPファイルをダウンロードする方法

  7. 7

    Retrofitライブラリを使用してAndroidでファイルをダウンロードする方法は?

  8. 8

    PHPWordで作成したファイルをダウンロードする

  9. 9

    コンテンツを含むファイルを作成してTHYMELEAFでダウンロードする方法

  10. 10

    ブラウザで圧縮ファイルをgolangサーバーからダウンロードします

  11. 11

    Ajaxメソッドを使用してExcelファイルをダウンロードする方法-ここで私のファイルはブラウザにダウンロードされていないTempフォルダにダウンロードされますか?

  12. 12

    ブラウザを使用せずにLinuxコンソールでURLを使用してファイルをftpまたはダウンロードするにはどうすればよいですか?

  13. 13

    Flask:ダウンロードしたPDFファイルをブラウザで強制的に開く

  14. 14

    ZIPファイルをダウンロードし、ブラウザASP.NETMVCでRotativaPDFを出力します

  15. 15

    YouTubeビデオファイルをブラウザを介してユーザーのコンピュータに直接ダウンロードします

  16. 16

    PythonでWebURLを使用してファイルをダウンロードする方法は?ブラウザからのダウンロードは機能しますが、Pythonのリクエストからは機能しません

  17. 17

    JARファイルをダウンロード中にどのように無効にChromeブラウザのメッセージ「このファイルはコンピュータに損害を与えることができますか」?

  18. 18

    JavaScriptを使用してファイルをダウンロードして保存するにはどうすればよいですか(ブラウザなし)

  19. 19

    ダウンロードする代わりにブラウザでPDFファイルを表示する

  20. 20

    ブラウザがファイルのダウンロードを受信したときに検出する

  21. 21

    リンクをクリックして、AngularフロントエンドWebアプリのブラウザーで.csvファイルをダウンロードまたは保存するにはどうすればよいですか?ブラウザの苦情ファイルなし

  22. 22

    Webブラウザがmp3ファイルをダウンロードするために2つの要求を行うのはなぜですか?

  23. 23

    (HTML)クリックしたときにブラウザーで開く代わりにPDFファイルをダウンロードする

  24. 24

    HTMLをダウンロードする代わりに、ブラウザでCSVファイルを開く

  25. 25

    VeraCrypt暗号化システムドライブ全体のクローンを作成し、後でWindows 10にマウントして、選択したファイルをコピーするにはどうすればよいですか?

  26. 26

    AndroidのブラウザでHTTPSからファイルをダウンロードします

  27. 27

    curlはファイルをダウンロードできませんが、ブラウザはダウンロードできます

  28. 28

    この問題を修正するにはどうすればよいですか?ブラウザでファイルをダウンロードすると、ファイルのエンコーディングが変更され、Springブートを使用しました

  29. 29

    Vue / HTML / JSダウンロードタグを使用してファイルをブラウザーにダウンロードする方法

ホットタグ

アーカイブ