Pythonでファイルのコンテンツを読み書きする最も簡単な方法 質問する

Pythonでファイルのコンテンツを読み書きする最も簡単な方法 質問する

Rubyでは、を使用してファイルから読み取ることができますs = File.read(filename)。私が知っているPythonで最も短くてわかりやすいのは、

with open(filename) as f:
    s = f.read()

さらに短く(できれば 1 行)、読みやすくする方法は他にありますか?

注: 最初、私は質問を「1 行のコードでこれを行う」と表現しました。S.Lott が指摘したように、短いということは必ずしも読みやすくなるということではありません。そのため、私が言いたいことを明確にするために、質問を言い換えました。Ruby のコードの方が優れていて読みやすいのは、必ずしも 1 行ではなく 2 行だからという理由ではなく (それも重要ですが)、クラス メソッドでありインスタンス メソッドではないため、誰がファイルを閉じるのか、例外が発生した場合でも確実に閉じる方法などについて疑問が生じないからだと思います。以下の回答で指摘されているように、GC に頼ってファイルを閉じることもできます (そのため、1 行になります)。しかし、そうすると、コードは短くなるものの、さらに悪くなります。移植性がないだけでなく、不明瞭になります。

ベストアンサー1

ワンライナー。これを行う理由はありません。

with open('x.py') as f: s = f.read()

おすすめ記事