1. ホーム
  2. python

[解決済み] 仮想ファイル処理の方法を教えてください。

2023-06-28 16:19:36

質問

そこで、ファイルを作成するために、次のようなものを使っています。

fileHandle = open('fileName', 'w')

で、内容をファイルに書き出し、ファイルを閉じます。 次のステップでは、ファイルを処理します。 プログラムの最後に、私は削除する必要がある "物理ファイル" を終了します。

Pythonで、quot;物理ファイルと全く同じように動作する(同じように操作できる)、しかし実行終了時には存在しないquot;仮想ファイルを記述する方法はありますか?

どのように解決するのですか?

を使用することを検討するとよいでしょう。 tempfile.SpooledTemporaryFile を使用することを検討するとよいでしょう。これは、最初は一時的なメモリベースの仮想ファイルを作成しますが、メモリに保持されているデータが特定のサイズを超えると、自動的に物理ディスクベースのファイルに切り替わるという意味で、両方の利点を提供します。

もうひとつの優れた機能は、(メモリを使用する場合) 自動的に io.BytesIO または io.StringIO に応じて mode が使用され、Unicode 文字列またはバイナリデータ (バイト) の読み取りと書き込みができるようになります。

唯一の厄介な点は、ステップ間でファイルを閉じないようにする必要があるという事実です。そうすると、メモリやディスクからファイルが削除されてしまうからです。その代わり、ファイル seek(0) メソッド呼び出しで巻き戻せます。

ファイルを完全に終了して閉じると、その中のデータ量が物理ファイルにロールオーバーされる原因となった場合、そのファイルは自動的にディスクから削除されます。