2011-01-29 25 views
2

Pythonのすべてのファイル操作をオーバーライドする方法はありますか? 'open'、 'os.rename'、 'os.unlink'などのファイル操作。Pythonでのファイル操作のオーバーライド

ライブラリを書き換えずに、一時的なメモリ内ファイルシステムを作成したいと考えています。誰かがこの機能を持っているスクリプトやライブラリを知っていますか?私はGoogle App Engineでライブラリを実行したいので、ファイルシステムに書き込むことはできません。

+0

詳細をお知らせください。短い答えは:いいえ、そうではありません。 – aqua

+0

"演算子"ではなく "演算子"を意味します。 –

+0

あなたはあなたが望むものを説明しません。つまり、野生の推測に示されているように誰もあなたを本当に助けることができないということです。 :) –

答えて

2

を行うのに十分近いとすることができるこれを見つけたStringIOを見てモジュール。

+1

はい、GAEで動作するtempfile.TemporaryFileクラスもあります。 – benmcdonald

1

「オーバーライド」?その言葉は実際には意味がありません。実際に何を望むかによって、さまざまな方法でそれらを置き換えることができます。

メモリファイルシステムの作成は、ほとんどのUnixではtmpfsのように、オペレーティングシステムを通じて実行できます。それはおそらくあなたのためのより良い解決策です。

0

自分のファイルシステムのコードを最初から書きたい場合は、ライブラリを書き直すことになります。

純粋なPythonでメモリ内の一時ファイルシステムを実装しているライブラリに関する知識はありません。代わりに、Linuxでは、tmpfsファイルシステムを使用できます。通常は/dev/shmにマウントされています。いつものようにファイルを開いたり、読み書きしたりすることができます。

+0

これはhttp://code.google.com/p/pyfilesystem/に十分近いかもしれません。 – benmcdonald

+0

なぜメモリファイルシステムが必要ですか? – vz0

0

私は、あなたがちょうどそれらの背後にある本当のファイルを持っていないファイルオブジェクトが必要な場合は、ジョブcode.google.com/p/pyfilesystem