Pythonで可変数のファイルを開くための「最良の」方法とは何ですか?可変数のリソース用のPython "RAII"イディオムとは何ですか?
ファイルの数が手元にわからない場合は、「どのように」使用するか分かりません。
(着信RAII/C++から)
Pythonで可変数のファイルを開くための「最良の」方法とは何ですか?可変数のリソース用のPython "RAII"イディオムとは何ですか?
ファイルの数が手元にわからない場合は、「どのように」使用するか分かりません。
(着信RAII/C++から)
さて、あなたはそれらのハンドルのすべてを(filename, mode)
ペアのリストを取り、オープンファイルハンドルのリストを返した(してから閉じ、独自のコンテキストマネージャを定義することができるときcontextmanager終了)。
独自のコンテキストマネージャを定義する方法の詳細については、http://docs.python.org/reference/datamodel.html#context-managersおよびhttp://docs.python.org/library/contextlib.htmlを参照してください。
これは請求書に完全に当てはまります。 – user1174648
あなたの明確な説明とコンテキストマネージャ文書の再読み込みの後、これは私にとって非常に明白です。だから、初心者に優しいことに感謝します! – user1174648
この回答があなたのニーズを満たしていれば、その横にあるチェックマークのアウトラインをクリックして、それを合格とマークしてください。ありがとう! – Amber
3.3では、このような状況でcontextlib.ExitStack
が利用可能になりました。 contextlib
のドキュメントのコード例をいくつか紹介します。
2.7ユーザーは不運です。アップグレードするもう一つの理由。
関連するhttp://stackoverflow.com/questions/5071121/raii-in-python-automatic-destruction-when-leaving-a-scope –
「ファイルの数は以前には分かっていません」と、おそらく意味することができます。未知数のファイルを開き(開いたままにしておく)このアルゴリズムの説明を提供できますか? –
例:コマンドラインで可変数のファイル名をとり、すべてを行ごとにstdoutにインターリーブするスクリプト。 – user1174648