私は頻繁に以下の2つの関数を使用して、ファイルの内容を文字列に読み取り、文字列をファイルに書き込みます。私の知る限り、これらの関数はPython標準ライブラリには存在しないので、その理由に興味があります。高レベルのディレクトリとファイル操作を備えた標準ライブラリモジュールshutilにはこの機能がありません。これは、そこにないという明示的な設計上の選択だったと思います。つまり、私は次のことを知りたいです:
- Python標準ライブラリに含まない潜在的な理由は何ですか
- この方法でファイルを処理することの欠点はありますか(ファイルの内容全体がメモリにロードされることを認識していると仮定します)
関数
def read_file(path):
with open(path) as f:
return f.read()
def write_file(path, data):
with open(path, 'wb') as f:
return f.write(data)
明確にするために、私は以下がより読みやすいと思います
write_file('/tmp/test', 'test')
次に、以下の2つの選択肢があります。
open('/tmp/test', 'wb').write('test')
with open('/tmp/test', 'wb') as f:
f.write(data)