35

私はいくつかのファイル処理を行っています。ファイルを生成するには、既存のデータから一時ファイルを生成し、そのファイルを関数への入力として使用する必要があります。

しかし、そのファイルをどこに保存してから削除すればよいのか混乱しています。

ユーザーセッション後にファイルが自動的に削除される一時的な場所はありますか

4

4 に答える 4

51

Python には、まさにこの目的のためのtempfile モジュールがあります。ファイルの場所や削除について心配する必要はありません。サポートされているすべてのプラットフォームで動作します。

一時ファイルには次の 3 種類があります。

  • tempfile.TemporaryFile- 基本的な一時ファイル、
  • tempfile.NamedTemporaryFile- "この関数はTemporaryFile()、ファイルがファイル システムで目に見える名前を持つことが保証されていることを除いて、動作とまったく同じように動作します (Unix では、ディレクトリ エントリはリンク解除されません)。その名前は、ファイル オブジェクトの name 属性から取得できます。 "、
  • tempfile.SpooledTemporaryFile- "この関数は、ファイル サイズが を超えるまで、またはファイルのメソッドが呼び出されるまでTemporaryFile()、データがメモリにスプールされることを除いて、実際とmax_sizefileno()TemporaryFile()まったく同じように動作します

編集:あなたが求めた使用例は次のようになります:

>>> with TemporaryFile() as f:
        f.write('abcdefg')
        f.seek(0)  # go back to the beginning of the file
        print(f.read())

    
abcdefg
于 2012-11-29T05:49:33.730 に答える
2

モジュールから何かを使用する必要がありtempfileます。必要なものはすべて揃っていると思います。

于 2012-11-29T05:49:03.187 に答える